公司使用jenkins打包java代码,但是不能同时打包多个应用。又介于公司环境太多,每次打包,一次一次点击实在太麻烦,而且还怕有疏漏,所以决定写一个pipeline来一个一个自动打包,直接上截图了(这里只截取需要修改的地方,没有截图的地方一律不需要修改)
1、增加两个参数化构建
目的:为了能够灵活打包,根据环境名称加应用名称拼接的方式打包
2、编写pipeline脚本
pipeline {
agent any
stages {
stage("build packages") {
steps {
script {
String0 = app_env
String1 = application
# 以英文逗号分隔
for (app in String1.tokenize(',')){
for(environment in String0.tokenize(',')){
# 去掉字符串里的空白格
environment_end = environment.replaceAll("\\s*","")
app_delete_blank = app.replaceAll("\\s*","")
# 替换字符串的下划线为中杠(根据不同应用名变通)
app_end = app_delete_blank.replaceAll("_", "-")
# 把环境名称和应用名称拼接在一起
def name = environment_end + "_" + app_end
stage(name){
# 发布job
build(job: name)
}
}
}
}
}
}
}
}
此时所有配置已经完成,就可以测试了
3、测试应用
3.1 点击Build with Parameters
3.2 输入参数
根据需要输入参数,都已英文逗号分隔
OK,大功告成