2017-04-03 107 views
0

我是Jenkin的新手,我在Bitbucket中有4個回購說A,B,C,D。 我必須取A,B & C回購,使用gradle build構建它們,這會產生戰爭。 現在我必須在D \ warsFolder中複製這些戰爭 我已經創建了Multibranch管道並生成了管道語法,它從git獲取A,B & C並構建它們。看起來這Jenkins:從Multibranch管道中複製文物

node { 
    checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'A']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'id', url: 'http://.../A.git']]]) 
    dir('A') { 
     bat 'gradle build -i --info --stacktrace --debug' 
    } 
    checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'B']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'id', url: 'http://.../B.git']]]) 
    dir('B') { 
     bat 'gradle build -i --info --stacktrace --debug' 
    } 
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'C']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'id', url: 'http://.../C.git']]]) 
    dir('C') { 
     bat 'gradle build -i --info --stacktrace --debug' 
    } 

    } 

一些東西加入Jenkinsfile上面的腳本,我放在回購。

現在我已經創建了一個多枝管道Fetch_all和分支的源代碼 - >單庫&分支 - >庫URL我已經加入http://.../A.git(其中有Jenkinsfile)。 高興在這裏一切工作正常我能夠獲取資源並構建它們。

我已經創建了Freestyle的新工作,在源代碼管理 - > Git - > Repository URL將是http://.../D.git。 我試圖複製在Fetch_all管道中生成的戰爭,但在生成 - >從另一個項目複製工件時,項目名稱不接受Multibranch管道。它拋出錯誤,如

ERROR: Unable to find project for artifact copy: 
This may be due to incorrect project name or permission settings; see help for project name in job configuration. 

任何幫助表示讚賞。

回答

1

終於明白了,當我給了pipeline_name/branchname即Fetch_all /%00它工作正常。