Jenkinsでパイプラインプロジェクトのコピーを作成する方法を探しています。通常のプロジェクトを選択すると、サイドバーに[プロジェクトのコピー]オプションが表示されますが、パイプラインプロジェクトにはありません。パイプラインをコピーすることは可能ですか?
私はUIで、私が使用していることを実行する方法を知らないジェンキンス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
。
1人のJenkinsマスターのジョブを保存するために、次のスクリプトを作成しました。
#!/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にパイプしています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加