Jenkins 多分支流水线参考项目
这是一个 Jenkins 多分支自动化部署运行参考项目
Jenkins 会根据根目录中的 Jenkinsfile 进行自动编译或运行
目录下的示例 Jenkinsfile 可以拷贝修改后直接使用
如果需要更多相关信息可以参考:
Jenkinsfile 入门
Jenkinsfile 参考文档
或者Jenkins项目左边的那个流水线语法
docker{}
推荐 vscode 插件:JenkinsFile Support
构建一个 Jenkins 多分支项目
步骤
- 在 Jenkins 中创建一个 Jenkins 多分支项目
- 在 Jenkins 中填入必要的信息
- 基本信息
- 分支源及其凭据
- 触发器 webhook
- 按需配置其他
- 在项目中创建并编辑 Jenkinsfile
- 添加凭据对应协作人和应有权限
- 在 Jenkins 中点击扫描和构建并尝试构建
- 在项目中添加 webhook
- 测试 webhook 推送 (触发构建或者扫描日志时间改变就可以了)
可选项
- 邮件消息推送
- 钉钉消息推送
- 企业微信推送
- 以上插件均已安装,可以直接在 Jenkinsfile 中编写使用
- 使用 input 阻塞危险的构建,直到有效的输入确认
- 如果需要
docker-compose
,则需要在运行节点安装,之后直接使用命令即可
注意事项
- 尽量使用 docker 容器而非执行shell命令以避免环境冲突,并且方便做滚动更新等操作
- 如果只是要测试微调后 Jenkinsfile 可以用 Jenkins 的回放功能(点击具体构建,左边),然后再放进项目里,这样就不用一直 commit push
- 对当前分支的 Jenkinsfile 更新不会影响到其他分支,在开发或者测试分支可以不用担心影响生产
- 对 Jenkinsfile 的改动尽量独立为一个commit, 方便 git cherry-pick 合并单一commit到其他需要的分支
- 多节点下尽量不要使用 agent any,鬼知道在哪执行去了