簡體   English   中英

復制詹金斯管道項目

[英]Copy jenkins pipeline project

我正在尋找一種在 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 master 的子文件夾,這些子文件夾包含jenkins_url.txtcredentials_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

不是最好的,但它有效 :) 並且我在 Windows 上使用 Git,這就是為什么我將所有內容都傳輸到 unix2dos。

現在可以使用 Jenkins UI 實現這一點。 當您在 Jenkins 主窗口中單擊“新建項目”時,您可以一直在底部指定要復制的項目。 在那里指定管道的名稱。 Jenkins 會為您復制所有配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM