1.需求:新增一套环境的时候,几十个Job如何快速复用到另外一个视图中?
2.实现思路:批量复制Job,并批量把新建Job加入到新的视图中。
3.批量创建job
#-*- coding: utf-8 -*-
import jenkins
#正式使用jenkins
jenkins_server_url='http://myjenkins.com:port'
api_token="xxxxxxx"
#定义用户的User Id 和 API Token,获取方式同上文
user_id='testadmin'
#实例化jenkins对象,连接远程的jenkins master server
server=jenkins.Jenkins(jenkins_server_url, username=user_id, password=api_token)
#打印server地址
#print(server.server)
#1.判断job是否存在
#print(server.job_exists('wjj_market_uat'))
#2.创建新job
#server.create_job('test001', jenkins.EMPTY_CONFIG_XML)
#3.获取Job的数量
#job_account=server.jobs_count()
#print(job_account)
#4.批量复制Job,用于突然增加一个view环境需要大量手动复制和创建job使用。
java_list=["xk_pay_test","xk_physique_test","xk_platformManager_test","xk_webmanager_test","xk_webmanager_xk_test","xk_defensormanager_test"]
for i in java_list:
print(i)
server.copy_job(i,i+"_uat")
print(i+"_preview任务创建成功")
web_list=["wjj_uat_ssr","wjj_uat_mfl","wjj_uat_chinawind-shop","wjj_uat_chinawind-plat","wjj_uat_goddess","wjj_uat_public","npm_wjj_uat_h5","npm_wjj_uat_gplan","npm_wjj_uat_plat","npm_wjj_uat_fresh","npm_wjj_uat_tongue"]
for j in web_list:
print(j)
server.copy_job(j,"preview_"+j)
print("preview_"+j+"任务创建成功")
4.批量加入新的视图
5.小结
难点:Jenkins正则表达式 和 python代码的字符串拼接