저는 젠킨스에서 파이프 라인 프로젝트 복사본을 만드는 방법을 찾고 있습니다. 일반 프로젝트를 선택하면 사이드 바에 "프로젝트 복사"옵션이 표시되지만 파이프 라인 프로젝트에는 해당 옵션이 없습니다. 가능하면 파이프 라인을 복사 할 수 있습니까?젠킨스 파이프 라인 프로젝트 복사
답변
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
. 하나 젠킨스 마스터의
저장하려면 작업은,이 스크립트를 생성 :
#!/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
아니라 좋은,하지만 그것을 작동합니다 :) 내가 굳이 unix2dos에 이르기까지 모든 배관하고 왜 Windows 용 힘내을 사용하고, 이잖아.
작동, 감사합니다. – NeoTheThird
언급을 잊어 버렸습니다 : 새 마스터에서 저장된 작업을 만들고 싶으면'./jenkins_cli
https://issues.jenkins-ci.org/plugins/servlet/mobile#issue/JENKINS-32756 – slashpai
을 확인하십시오. 감사합니다. @slashpai. – NeoTheThird
[젠킨스에서 작업 복제는 어떻게합니까?] (https://stackoverflow.com/questions/23838259/how-do-i-clone-a-job-in-jenkins) – mkobit