Jenkins 将 Angular 2+ 项目部署到 Tomcat

Jenkins deploy Angular 2+ Project To Tomcat

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

我发现了一些有用的东西 Video

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

我卡在部署中了。

添加 PowerShell 步骤或 Shell 脚本步骤,具体取决于构建机器 OS。添加命令以将所有这些文件复制到 dist/ 下(例如,复制 my-angular )并将它们粘贴到 /webapps 文件夹

下的 /angular 文件夹中

命中:localhost:8080/my-angular/index.html

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

如果您打算自动化部署步骤

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

如果您打算使用持续交付 詹金斯是一个正确的工具。 "ideal" 流程是 dev machine => SCM => CI => STAGING/PRD

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

这是配置和使用 Jenkins 的方法。

  • 创建一个 Jenkinsfile 并将其添加到存储库并提交。
  • 通过添加 new 任务配置 Jenkins -> 多分支管道 -> Select SCM 作为你的 git 存储库 -> Select 你想要的分支构建 -> 立即扫描存储库

从下面的 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 中并跟踪变化。如果你有一个新的 Jenkins,你可以简单地重新配置作业,你的所有管道阶段都可以可视化。

对于 Linux,将 bat 替换为 sh

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