【问题标题】:Jenkins deploy Angular 2+ Project To TomcatJenkins 将 Angular 2+ 项目部署到 Tomcat
【发布时间】:2020-05-13 16:11:45
【问题描述】:

我是 Jenkins 的新手,我正在尝试使用 Jenkins 构建我的 Angular 项目并将其部署到 Tomcat。我找不到任何 Jenkins 作业配置。

我发现了一些有用的Video

但这将运行 npm installnpm run build 并创建包含文件的 dist 文件夹

我被困在部署中。

【问题讨论】:

  • 让我更好地理解它。你有一个角度项目。您想构建它并将其部署到服务器吗?那台服务器在哪里,Jenkins 在哪个操作系统上运行?您的项目来源在哪里?是在 Github 还是类似的地方?
  • @RamKamath,是的。目前我使用的是windows OS(localhost),项目在Git中,而且我需要这个配置才能在Linux环境中使用

标签: angular jenkins continuous-integration continuous-deployment tomcat9


【解决方案1】:

根据构建机器操作系统添加 PowerShell 步骤或 Shell 脚本步骤。添加命令以复制 dist/ 下的所有这些文件(例如,复制 my-angular )并将它们粘贴到 /webapps 文件夹下的 /angular 文件夹中

点击:localhost:8080/my-angular/index.html

如果需要,您可以重新启动 tomcat 服务器

【讨论】:

  • @Shubham Gorlewar,感谢您的回答。我已经尝试过这个答案并且效果很好,但是我需要知道是否有比这更好的解决方案
【解决方案2】:

如果您的意图是自动化部署步骤

Jenkins 被设计为一个集中式 CD 服务器,可以将工件交付到存储库或服务器。就您而言,我假设您在进行开发的同一台机器上运行 Jenkins。那是技术上可行的设置。但是,这不是它的预期用途。如果您打算将可重用的命令放在一个地方,那么单个 sh 或批处理脚本将代替整个 Jenkins 服务器工作。在这种情况下,是的,您只需将内容复制到 webapp 或类似目录。

如果您打算利用持续交付 Jenkins 是一个合适的工具。 “理想”流程是 dev machine => SCM => CI => STAGING/PRD

所有四个都在不同的服务器上运行。

这是您可以配置和使用 Jenkins 的方式。

  • 创建Jenkinsfile 并将其添加到存储库并提交。
  • 通过添加新任务来配置 Jenkins -> 多分支管道 -> 选择 SCM 作为您的 git 存储库 -> 选择您要构建的分支 -> 立即扫描存储库

从下面的 Jenkinsfile 开始

pipeline {
agent any
stages {
  stage("Build Project") {
      script {
              bat "npm install"
              bat "npm run build"
            }
   }
  stage("deploy"){
     script {
             bat "<Your deploy command>"
          }
    }
}
post {
  always{
     deleteDir()   
  }
}
}

使用这样的 Jenkins 文件的好处是,你可以把它放在 scm 中并跟踪变化。如果你有一个 New Jenkins,你可以简单地重新配置 Job,你的所有管道阶段都可以可视化。

对于 Linux,将 bat 替换为 sh

更多信息请查看官方指南https://jenkins.io/doc/book/pipeline/syntax/#pipeline-syntax

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 2019-04-12
    • 2017-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多