一、项目背景
前面1、2两节分别创建了springboo-test和springboo-test2两个测试的项目工程,
在jenkins中分别创建了两个打包部署任务,
MyProject任务会将springboo-test工程打包成war包发布到远程的tomcat服务器上,
MyProject2任务会将springboo-test2工程打包成jar包发布到远程的centos服务器上,
如下图:
二、实现一键部署多个任务
上一章节使用Multijob plugin实现当点击一个任务时,jenkins自动执行部署MyProject任务和MyProject2任务,
这章节将使用pipeline实现当点击一个pipeline任务时,jenkins自动执行部署MyProject任务和MyProject2任务
1、创建一个Pipeline任务
2、选择Extended Choice Parameter
如果没有这个选项,则安装Extended Choice Parameter这个插件即可。
3、配置添加Extended Choice Parameter
4、编写Pipeline脚本
编写Pipeline脚本,如果没有Pipeline script选项,则安装Pipeline: Shared Groovy Libraries这个插件即可。
pipeline {
agent any
stages {
stage("build console all") {
steps {
script {
def projectDeployChoose="${ProjectDeployChoose}" //将勾选的任务拿出来
stage('show ProjectDeployChoose') {
echo '您勾选的打包项目有:'+projectDeployChoose
}
def list =projectDeployChoose.replace('"','').split(',') //将任务分割到数组里
stage('run all') {
for (p_name in list){
echo '任务【'+p_name+'】正在执行...'
build(job: p_name, propagate: false)
}
}
}
}
}
}
}