当前位置:网站首页>Jenkins export and import Job Pipeline
Jenkins export and import Job Pipeline
2022-08-04 04:14:00 【LeoHsiao1】
Jenkins Web page can be manually modify Job Pipeline 配置 ,But large quantities when a change is more troublesome.There are several kinds of batch modification method:
- 到 jenkins_home 安装目录下,执行 zip -r jobs.zip jobs/*/config.xml ,可以导出 Job 配置文件.不过修改了之后,需要重启 Jenkins 才会生效.
- 通过 Jenkins API 导出、导入 Job 配置文件.
In this paper, we give the second method Python 示例代码:
""" - The script is used for export、导入 Jenkins 的 Pipeline 脚本,保存为 XML 文件 - 需要安装 pip install jenkinsapi - Import the configuration file contains the ASCII 码时,需要修改 update_config() 的定义代码,注释 config = str(config) 一行 """
import os
import re
from jenkinsapi.jenkins import Jenkins
# 连接 Jenkins
jk = Jenkins('https://jenkins.test.com/', username='***', password='***', timeout=10, useCrumb=True)
config_suffix = '.xml'
def export_job(job_pattern='.*', work_dir='.'):
for job_name in jk.keys():
if not re.findall(job_pattern, job_name):
continue
config = jk.get_job(job_name).get_config()
config_file = os.path.normpath(os.path.join(work_dir, job_name + config_suffix))
os.makedirs(os.path.dirname(config_file), exist_ok=True)
with open(config_file, 'w', encoding='utf-8') as f:
f.write(config)
def import_job(job_pattern='.*', work_dir='.'):
for line in os.walk(work_dir, onerror=print):
sub_dir,dir_list,file_list = line
for file in file_list:
if file[-len(config_suffix):] != config_suffix:
continue
# 获取 job name
path_fileds = list(os.path.split(sub_dir)) + [file]
job_name = '/'.join(path_fileds).removeprefix(work_dir.replace('\\', '/')).removeprefix('/').removesuffix(config_suffix)
# 读取 job 的配置文件
if not re.findall(job_pattern, job_name):
continue
config_file = os.path.join(sub_dir, file)
with open(config_file, 'r', encoding='utf-8') as f:
config = f.read()
# 导入 job 配置
if jk.has_job(job_name):
jk.get_job(job_name).update_config(config.encode('utf-8'))
print('已导入Job:', job_name)
else:
print('Jenkins不存在该Job:', job_name)
# 自动创建 Job 会失败,目前只能导入 Jenkins Has been created Job
# jk.create_job(job_name, config)
# 执行导出、导入
export_job('test.*')
import_job('test.*')
边栏推荐
- SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropri
- 数组相关 内容 解析
- Power button (LeetCode) 215. The first K largest elements in the array (2022.08.03)
- 基于 SSE 实现服务端消息主动推送解决方案
- 技术解析|如何将 Pulsar 数据快速且无缝接入 Apache Doris
- 【21天学习挑战赛】图像的旋转问题(二维数组)
- 如何动态添加script依赖的脚本
- 机器学习之视频学习【更新】
- [Ryerson emotional speaking/singing audiovisual dataset (RAVDESS)]
- SVM介绍以及实战
猜你喜欢

什么是数字孪生智慧城市应用场景

10 Convolutional Neural Networks for Deep Learning 3

2 Gigabit Optical + 6 Gigabit Electric Rail Type Managed Industrial Ethernet Switch Supports X-Ring Redundant Ring One-key Ring Switch

本周四晚19:00知识赋能第4期直播丨OpenHarmony智能家居项目之设备控制实现

docker+bridge+redis master-slave+sentry mode

The Shell function

机器学习模型的“可解释性”

张量篇-应用案例

外卖店优先级

7-2 LVS+DR Overview and Deployment
随机推荐
2003. 每棵子树内缺失的最小基因值 DFS
【观察】超聚变:首提“算网九阶”评估模型,共建开放繁荣的算力网络
Postgresql source code (66) insert on conflict grammar introduction and kernel execution process analysis
2022 Hangzhou Electric Power Multi-School League Game 5 Solution
Introduction to the memory model of the JVM
base address: environment variable
How to automatically export or capture abnormal login ip and logs in elastic to the database?
typescript type 和 interface 的区别
4-way two-way HDMI integrated business high-definition video optical transceiver 8-way HDMI high-definition video optical transceiver
unity框架之缓存池
Mobile payment online and offline payment scenarios
mq应用场景介绍
Take care of JVM performance optimization (own note version)
Deep learning -- CNN clothing image classification, for example, discussed how to evaluate neural network model
new Date converts strings into date formats Compatible with IE, how ie8 converts strings into date formats through new Date, how to replace strings in js, and explain the replace() method in detail
一文详解DHCP原理及配置
Senior PHP development case (1) : use MYSQL statement across the table query cannot export all records of the solution
6口全千兆二层网管型工业以太网交换机千兆2光4电光纤自愈ERPS环网交换机
移动支付线上线下支付场景
马尔可夫链