angular - Jenkins 将 Angular 2+ 项目部署到 Tomcat
问题描述
我是 Jenkins 的新手,我正在尝试使用 Jenkins 构建我的 Angular 项目并将其部署到 Tomcat。我找不到任何 Jenkins 作业配置。
我发现了一些有用的视频
但这将运行npm install
并npm run build
创建包含文件的 dist 文件夹
我被困在部署中。
解决方案
如果您的意图是自动化部署步骤
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,替换bat
为sh
.
更多信息请查看官方指南https://jenkins.io/doc/book/pipeline/syntax/#pipeline-syntax
推荐阅读
- string - 在列表中附加带括号的字符串
- amazon-web-services - 如何使 AWS CachePolicy 因文件类型而异?
- angular - 为什么订阅无法读取 api 响应
- github-api - GitHub-Actions: 创建 GitHub-Release 草稿时触发
- jquery - Datatables 服务器端在 localhost 上工作正常,但在 Godaddy 上托管后出现以下错误
- webpack - node-sass 未应用来自 node_modules 的样式
- php - 我还想在父类别中显示子类别的产品
- asp.net-core - AzureAD 客户端密码在 dotnetcore 应用程序中已过期 - 错误代码:AADSTS7000222 - 如何更新?
- c# - 在 asp.net 中授权角色
- ubuntu - 如何在 VSCode 中更改光标?