Jenkins2 插件 Pipeline+BlueOcean 实现持续交付的初次演练
需要完成的目标
- 使用Pipeline完成项目的checkout,package、deploy、restart
- 提取出公有部分封装为公有JOB
- 实现pipeline对其他JOB的调用和逻辑的判断
- 实现任务的指定调用
- 实现多节点同时并发build
- 结合插件Open Blue Ocean
Pipeline的基础代码
收集了一些代码案例,可以自行查阅,不在啰嗦。
jenkins2 pipeline入门:http://www.cnblogs.com/itech/p/5633948.html
jenkins2 pipeline高级:http://www.cnblogs.com/itech/p/5646219.html
jenkins2 pipeline插件的10个最佳实践:http://www.cnblogs.com/itech/p/5678643.html
提取出公有部分封装为公有JOB,在另一个JOB中引用
JOB初始化、容器、分发分成了三个部分作为共有JOB进行管理。
场景描述:同一项目组有若干个模块,其有较高的耦合性,而且步骤均一致。只有SVN、补丁内容,等参数,所以采用提取这部分作为一个参数化job,每个模块构建步骤采用pipeline传递自身特有参数的方式触发构建。
实现pipeline对任务逻辑的判断
注意:jenkins中的boolean值似乎只是值的指定,通过shell可以直接if判断,但在goory里面我这里用的判断等于
1 2 3 4 5 6 7 | //更新bus容器 if (XD_Env_BUS_Update_Start == 'true' ) { println "XD_Env_BUS_Update_Start - 更新" build job: 'XD_Env_BUS_Update_Start' , parameters: [ string (name: 'Env' , value: BD_Env), string (name: 'BD_Dir' , value: BD_Dir)] } else { println "XD_Env_BUS_Update_Start - 不更新" } |
实现多节点同时并发build
实现多节点,主要是为了加快时间
JOB的演示
切换进入BlueOcean
点击进行执行
运行后,可以对具体的查看状态。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!