jenkins自动逐个执行job

    技术2022-07-15  55

    公司使用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,大功告成

    Processed: 0.015, SQL: 9