python之路

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)
上一篇下一篇

猜你喜欢

热点阅读