一、项目背景

前面1、2两节分别创建了springboo-test和springboo-test2两个测试的项目工程,
在jenkins中分别创建了两个打包部署任务,
MyProject任务会将springboo-test工程打包成war包发布到远程的tomcat服务器上,
MyProject2任务会将springboo-test2工程打包成jar包发布到远程的centos服务器上,
如下图:
image.png

二、实现一键部署多个任务

上一章节使用Multijob plugin实现当点击一个任务时,jenkins自动执行部署MyProject任务和MyProject2任务,
这章节将使用pipeline实现当点击一个pipeline任务时,jenkins自动执行部署MyProject任务和MyProject2任务

1、创建一个Pipeline任务

image.png

2、选择Extended Choice Parameter

如果没有这个选项,则安装Extended Choice Parameter这个插件即可。
image.png

3、配置添加Extended Choice Parameter

image.png

4、编写Pipeline脚本

编写Pipeline脚本,如果没有Pipeline script选项,则安装Pipeline: Shared Groovy Libraries这个插件即可。
image.png

  1. pipeline {
  2. agent any
  3. stages {
  4. stage("build console all") {
  5. steps {
  6. script {
  7. def projectDeployChoose="${ProjectDeployChoose}" //将勾选的任务拿出来
  8. stage('show ProjectDeployChoose') {
  9. echo '您勾选的打包项目有:'+projectDeployChoose
  10. }
  11. def list =projectDeployChoose.replace('"','').split(',') //将任务分割到数组里
  12. stage('run all') {
  13. for (p_name in list){
  14. echo '任务【'+p_name+'】正在执行...'
  15. build(job: p_name, propagate: false)
  16. }
  17. }
  18. }
  19. }
  20. }
  21. }
  22. }

5、修改git上的接口代码,验证是否能拉取最新代码发布成功

1、修改代码,在git上直接将springboo-test和springboo-test2接口返回都改为12

image.png
image.png

2、执行部署,可以选择此次要部署的任务

image.png

3、部署执行中状态

image.png

4、部署完成状态

image.png

5、查看日志

image.png

6、查看接口

image.png
image.png