jenkins批量创建任务
2021-05-19 本文已影响0人
非鱼2018
jenkins需要迁移,把旧jenkins上的job迁移到新jenkins,配置大部分都是相同的,于是想批量创建,网上查了下,很多方法,个人觉得用jenkins-cli最简单
几行代码就搞定了
使用jenkins-cli
首先下载jenkins-cli,
思路:
新jenkins,新建一个待复制job
获取老jenkins的job列表,master的woekspace或执行机的workspace目录
然后使用python脚本调用jenkins-cli的copy job循环创建任务
import os
import time
jobs=os.listdir(".")
for job in jobs:
print("开始复制job:{}".format(job))
os.system('java -jar jenkins-cli.jar -s http://localhost:8080 -auth admin:123456 copy-job oldjobs {}'.formate(job))
time.sleep(0.5)
如果有重名job则会复制失败,可以在执行复制job前先执行删除job
os.system('java -jar jenkins-cli.jar -s http://localhost:8080 -auth admin:123456 delete-job {}'.formate(i))
也可以通过list-jobs获取目标jenkins的所有job
import subprocess
get_jobs='java -jar jenkins-cli.jar -s http://localhost:8080 -auth admin:123456 list-jobs viewname'
#viewname为指定视图下job
jobs=subprocess.check_output(get_jobs,shell=true)
job_lists=jobs.splitlines()
for job in job_lists:
print("job名称",job)