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里面我这里用的判断等于
//更新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
点击进行执行
运行后,可以对具体的查看状态。