[英]How to use multiple credentials in withCredentials in Jenkins Pipeline
[英]How to Set multiple credentials using withcredentials in jenkins pipeline groovy file
我需要為一個工作設置兩個或多個憑據,我的計划是像下面這樣單獨使用它,以便它可以在多個工作中使用
static void _artifactoryCredentialBinding(Job job) {
job.with {
wrappers {
credentialsBinding {
usernamePassword('USERNAME', 'PASSWORD', 'xxxxx')
}
}
}
}
static void _jasyptCredentialBinding(Job job) {
return job.with {
wrappers {
credentialsBinding {
usernamePassword('', 'PASSWORD', 'jasypt-credentials')
}
}
}
}
當我這樣做時,第一個憑證被第二個憑證覆蓋。
我將在我的 groovy 文件中的任何必要位置調用這兩種方法作為輔助方法。
我需要在幾個工作中添加多個憑據,而在一個工作中只添加一個憑據。
在一個包裝器下添加憑證會起作用 - multiple-credentials ,但如果我在同一個包裝下添加多個憑證,我將無法重用。
我嘗試在上述方法中返回 Job 並使用相同的方法設置信用,但在構建時出現錯誤 -
錯誤:(CredentialBindingUtil.groovy,第 28 行)沒有方法簽名:xxxx.CredentialBindingUtil$__pfJasyptCredentialBinding_closure3.wrappers() 適用於參數類型:(xxx.CredentialBindingUtil$__pfJasyptCredentialBinding_closure3$_closure9) 值:[xxxx.CredentialBindingUtil$__pfJasyptCredentialBinding_closure3.wrappers() 11b4d391] [Office365connector] 沒有要通知的 webhook
如何將憑據附加到現有憑據?
正如評論中所討論的,可以通過配置塊來實現這一點。
static void _artifactoryCredentialBinding(def job) {
job.with {
configure { node ->
node / 'buildWrappers' / 'org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper' / 'bindings' << 'org.jenkinsci.plugins.credentialsbinding.impl.UsernamePasswordMultiBinding' {
usernameVariable 'some-credential-id'
credentialsId PASS1
passwordVariable USER1
}
}
}
}
static void _jasyptCredentialBinding(def job) {
job.with {
configure { node ->
node / 'buildWrappers' / 'org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper' / 'bindings' << 'org.jenkinsci.plugins.credentialsbinding.impl.UsernamePasswordMultiBinding' {
usernameVariable 'some-credential-id'
credentialsId PASS2
passwordVariable USER2
}
}
}
}
def a_job = job('a-temporaryjob')
_artifactoryCredentialBinding(a_job)
_jasyptCredentialBinding(a_job)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.