Jenkinsfileの2つの異なるreposから特定のタグを取得しようとしています。タグは、関連パイプラインから最新の成功ビルドを取得し、これらの値を使用してチェックアウトするタグを決定することによって決定されます。しかし、SCMは私が追加したwithEnv変数を置き換えないので、私は問題を得ています。コードでは、私は、タグであるべきかをエコーしています(このエコーが正常に動作していない)が、それはSCMは、タグLAST_SUCCESSFUL_EXTENSIONS_REPO_BUILDとLAST_SUCCESSFUL_SHARED_REPO_BUILD変数をチェックアウトすることになると何もそれらの値に置換されて見ることができるの下Jenkinsパイプラインで特定のタグを引き出すSCM
node {
stage('Checkout') {
withEnv([
"LAST_SUCCESSFUL_EXTENSIONS_REPO_BUILD=${ sh (script: "curl <JENKINS_URL>/job/extensionsrepo/job/${BRANCH_NAME}/lastSuccessfulBuild/buildNumber", returnStdout: true) }",
"LAST_SUCCESSFUL_SHARED_REPO_BUILD=${ sh (script: "curl <JENKINS_URL>/job/sharedrepo/job/${BRANCH_NAME}/lastSuccessfulBuild/buildNumber", returnStdout: true) }"
]) {
sh 'echo ${BRANCH_NAME}_${LAST_SUCCESSFUL_EXTENSIONS_REPO_BUILD}'
sh 'echo ${BRANCH_NAME}_${LAST_SUCCESSFUL_SHARED_REPO_BUILD}'
checkout scm
checkout([
$class: 'GitSCM',
branches: [[name: 'refs/tags/${BRANCH_NAME}_${LAST_SUCCESSFUL_EXTENSIONS_REPO_BUILD}']],
doGenerateSubmoduleConfigurations: false,
extensions: [[
$class: 'RelativeTargetDirectory',
relativeTargetDir: 'app/extensions'
]],
submoduleCfg: [],
userRemoteConfigs: [[
credentialsId: 'ssh-key',
url: '<GIT_URL>'
]]
])
checkout([
$class: 'GitSCM',
branches: [[name: 'refs/tags/${BRANCH_NAME}_${LAST_SUCCESSFUL_SHARED_REPO_BUILD}']],
doGenerateSubmoduleConfigurations: false,
extensions: [[
$class: 'RelativeTargetDirectory',
relativeTargetDir: 'app/shared'
]],
submoduleCfg: [],
userRemoteConfigs: [[
credentialsId: 'ssh-key',
url: '<GIT_URL>'
]]
])
}
}
// test, stage, deploy
}
私がここで間違っていることを指摘すると、とても感謝しています。間違いなく、私が正しくやっていないことは何かばかげたことです。
おかげ