复制詹金斯管道项目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复制詹金斯管道项目相关的知识,希望对你有一定的参考价值。
我正在寻找一种在Jenkins中创建管道项目副本的方法。如果我选择一个普通项目,我会在侧栏中看到一个“复制项目”选项,但管道项目中没有。是否可以复制管道?
答案
我不知道在UI中这样做的方法,我使用Jenkins CLI来做到这一点。我为命令行写了一个包装器,如下所示:
#!/bin/sh
#file: jenkins_cli.sh
cd $1
if [ -z ${JENKINS_CREDENTIALS+x} -o -z ${JENKINS_SERVER+x} ]
then
JENKINS_SERVER=$(<jenkins_url.txt)
JENKINS_CREDENTIALS=$(<credentials_api.txt)
fi
java -jar jenkins-cli.jar -s $JENKINS_SERVER -auth $JENKINS_CREDENTIALS ${@:2} | dos2unix
因为我有每个詹金斯大师的子文件夹,我有这些子文件夹包含jenkins_url.txt
和credentials_api.txt
。然后我调用这样的命令:./jenkins_cli <jenkinsxyz> help
。
为了保存一个Jenkins Master的工作,我创建了这个脚本:
#!/bin/sh
# save all job configurations locally
#
# parameters:
# directory with credentials_api.txt, jenkins_url.txt and jenkins-cli.jar of
# the jenkins server that will be backuped
cd $1
CLI="./../jenkins_cli.sh"
echo "create backup folder.."
mkdir -p backup
echo "save job list.."
. $CLI . list-jobs | unix2dos.exe > jobs.txt
echo "save job configuration.."
LOOPS=$(wc -l < jobs.txt)
for l in $(seq $LOOPS); do
JOBNAME=$(tail -n+$l jobs.txt | head -n1)
. $CLI . get-job "$JOBNAME" > ./backup/$JOBNAME.xml
echo "saved job nr. $l: $JOBNAME"
done
不是最好的,但它的工作原理:)我正在使用Git for Windows,这就是为什么我要把所有东西都连接到unix2dos。
以上是关于复制詹金斯管道项目的主要内容,如果未能解决你的问题,请参考以下文章