jenkins导入和导出视图的所有job

目标:导出http://192.168.31.32:8080/上Jenkins的内蒙古智慧园区test-后端view视图下的所有job,然后导入到http://192.168.20.143:8080/上Jenkins的内蒙古智慧园区test-后端view视图,并且每个job名字在原来的基础上加test-前缀

一、导出

1、在导出jobs配置的jenkins上配置认证

 2、进入Jenkins命令行下载jenkins-cli.jar

3、上传jenkins-cli.jar包到服务器的/opt目录,然后编写shell运行

#!/bin/bash

JENKINS_URL="http://192.168.31.32:8080/"
VIEW_NAME="内蒙古智慧园区test-后端"
AUTH="admin:115fb17c5079c6e975594670f6b68b7211"
EXPORT_DIR="/opt/jobs"

# 获取视图下所有 Job 的名称
JOB_NAMES=$(java -jar jenkins-cli.jar -s $JENKINS_URL -auth $AUTH  list-jobs $VIEW_NAME)

# 导出每个 Job 的配置
for JOB in $JOB_NAMES; do
    echo "Exporting job: $JOB"
    java -jar jenkins-cli.jar -s $JENKINS_URL -auth $AUTH get-job "$JOB" > "${EXPORT_DIR}/${JOB}_config.xml"
done

4、jobs目录下有job的xml文件,打包并下载到桌面

tar zcvf jobs.tar.gz jobs
sz jobs.tar.gz

 

 

二、导入

1、在导入jobs配置的jenkins上配置认证

2、 进入Jenkins命令行下载jenkins-cli.jar

3、上传jobs.tar.gz到/opt目录然后解压

tar zxvf jobs.tar.gz

 

4、上传jenkins-cli.jar包到服务器的/opt目录,然后编写shell运行

#!/bin/bash

JENKINS_URL="http://192.168.20.143:8080/"
VIEW_NAME="内蒙古智慧园区test-后端"
AUTH="admin:11f6864f3848c37ae7fe29c745a3d18365"
JOBS_DIR="/opt/jobs"  # 保存 XML 配置文件的目录

# 创建 test1 视图(如果尚未创建)
# java -jar jenkins-cli.jar -s $JENKINS_URL -auth $AUTH  create-view $VIEW_NAME

# 循环导入每个 Job 配置
for CONFIG_FILE in $JOBS_DIR/*_config.xml; do
    JOB_NAME=$(basename "$CONFIG_FILE" "_config.xml")
    echo "Importing job: $JOB_NAME into $VIEW_NAME"
    java -jar jenkins-cli.jar -s $JENKINS_URL -auth $AUTH create-job "test-${JOB_NAME}" < "$CONFIG_FILE"
    # 将 Job 移动到 test1 视图中
    curl -X POST -u admin:11f6864f3848c37ae7fe29c745a3d18365     -d "name=test-${JOB_NAME}"     ${JENKINS_URL}/view/${VIEW_NAME}/addJobToView
    #java -jar jenkins-cli.jar -s $JENKINS_URL -auth $AUTH update-job "test-${JOB_NAME}" --view "$VIEW_NAME"
done

 

5、查看导入job配置的Jenkins的内蒙古智慧园区test-后端view视图

 

posted @ 2024-11-22 17:25  苦逼yw  阅读(167)  评论(0编辑  收藏  举报