2017-11-23 9 views
0

현재 내가 설정 한 두 작업, 매개 변수를 전달하기위한 하나의 파이프 라인 스크립트를jenkins cli를 사용하지 않고 변수를 파이프 라인 작업에 전달하는 방법은 무엇입니까?

1) 매개 변수 작업

cat "artifactlist.csv" | while IFS='' read -r line; do 
Artifact_id="$(echo "$line")" 
echo "$Artifact_id" 
java -jar /home/nxa35638/jenkins-cli.jar -s $JENKINS_URL build test_pipeline 

2) test_pipeline

stage 'Test_data_cleanup' 
node(Slave01) { 
build job: 'jobs/Delete_data', parameters: [string(name: 'Artifact_id', value: "${Artifact_id}")] 
stage 'Test_data_cleanup' 
node(Slave01) { 
build job: 'jobs/create_data', parameters: [string(name: 'Artifact_id', value: "${Artifact_id}")] 
} 

대신 사용하여 파이프 라인에 대한 다른 별도의 작업을 사용하여 매개 변수를 전달하는 경우 파이프 라인 작업 만 사용하고 모든 매개 변수에 대해 간단히 빌드하는 옵션이 있습니까?

내가 당신의 소중한 정보

답변

0

물론을 제공하십시오, 동일한에 대한 구체적인 해결책을 찾을 수 없습니다! readFile 파이프 라인 단계 https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-readfile-code-read-file-from-workspace과 Groovy 기능을 사용하여 다음과 같이 작성할 수 있습니다.

node(Slave01) { 
    def artifacts = readFile "artifactlist.csv" 
    artifacts.split("\n").each { artifactId -> 
     build job: 'jobs/Delete_data', parameters: [string(name: 'Artifact_id', value: "${artifactId}")] 
    } 
}