首页 > 解决方案 > Jenkins 将 Angular 2+ 项目部署到 Tomcat

问题描述

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

我发现了一些有用的视频

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

我被困在部署中。

在此处输入图像描述

标签: angularjenkinscontinuous-integrationcontinuous-deploymenttomcat9

解决方案


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

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

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

他们四个都在不同的服务器上运行。

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

  • 创建一个Jenkinsfile并将其添加到存储库并提交。
  • 通过添加新任务来配置 Jenkins -> Muti-branch Pipeline -> 选择 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,替换batsh.

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


推荐阅读