我正在嘗試使用一個簡單的FreeStyleJob SCM,并從構建引數設定 credentialId UUID。問題是,憑據似乎沒有正確決議引數。
scm {
git {
remote {
github('\${MY_REPO_HANDLE}', 'ssh')
credentials('\${MY_REPO_CREDENTIALS}')
}
branch('\${MY_BRANCH}')
}
}
我的 MY_REPO_CREDENTIALS 是一個簡單的字串引數
stringParam {
name("MY_REPO_CREDENTIALS")
defaultValue("teste-credential")
}
日志:
Warning: CredentialId "${MY_REPO_CREDENTIALS}" could not be found.
更新
這個 Jenkins 作業是由另一個 Jenkins 作業使用外部 DSL 創建的。在簡歷中,Job 1 當被觸發時將在 jenkins 上創建 Job 2。當我嘗試使用"$ (沒有 \) 時,作業將失敗,因為作業 1 背景關系中不存在此引數。
作業配置.xml:
<scm >
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<url>[email protected]:${MY_REPO_HANDLE}.git</url>
<credentialsId>${MY_REPO_CREDENTIALS}</credentialsId>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>${MY_BRANCH}</name>
</hudson.plugins.git.BranchSpec>
</branches>
<configVersion>2</configVersion>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<gitTool>Default</gitTool>
<browser >
<url>https://github.com/${MY_REPO_HANDLE}/</url>
</browser>
</scm>
uj5u.com熱心網友回復:
您可以切換到 using"而不是'這樣您就可以使用自動填充功能:
scm {
git {
remote {
github("${MY_REPO_HANDLE}", 'ssh')
credentials("${MY_REPO_CREDENTIALS}")
}
branch("${MY_BRANCH}")
}
}
uj5u.com熱心網友回復:
最終的解決方案是在構建之前設定 ssh 代理,使用包裝器:
wrappers {
sshAgent("\${MY_REPO_CREDENTIALS}")
}
keepDependencies(false)
scm {
git {
remote {
github("\${MY_REPO_HANDLE}", 'ssh')
}
branch("\${MY_BRANCH}")
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/404451.html
標籤:
