我是Jenkins的新手,我在Bitbucket上有4个仓库,分别是A、B、C、D。 我需要获取A、B和C仓库,使用gradle build构建它们,生成war包。 现在我需要将这些war包复制到D\warsFolder文件夹中。 我创建了多分支流水线并生成了流水线语法,从git获取A、B和C仓库并进行构建。大致如下:
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'
}
}
我在A库中放置了Jenkinsfile并添加了上述脚本。
现在,我创建了一个名为Fetch_all的多分支流水线,在分支源中->单个存储库和分支->存储库URL中添加了http://.../A.git(其中包含Jenkinsfile)。到此为止,一切都正常,我能够获取资源并构建它们。
我创建了一个新的Freestyle作业,在源代码管理中->Git->存储库URL将是http://.../D.git。我正在尝试复制在 Fetch_all流水线中生成的war文件,但是在构建 ->从另一个项目复制工件中,项目名称不接受多分支流水线。它抛出错误如下:
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.
非常感谢您的帮助。