gpt4 book ai didi

amazon-web-services - 使用 groovy 脚本更新 jenkins 文件中的 aws 凭证

转载 作者:行者123 更新时间:2023-12-04 02:01:58 25 4
gpt4 key购买 nike

在我的流程中,我会定期获得临时 AWS 凭证,并且在我的 Jenkins 文件中,我需要更新特定的 Jenkins Aws 凭证。我该如何更新它?我需要的原因是 Jenkins docker 方法 withRegistry 需要凭据 ID,每当我获得新的 AWS key 才能使用它时,我必须更新此凭据。

最佳答案

经过多次尝试和错误,我发现了这个:

import jenkins.model.*
import com.cloudbees.plugins.credentials.*
import com.cloudbees.plugins.credentials.impl.*
import com.cloudbees.plugins.credentials.domains.*
import com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey
import com.cloudbees.jenkins.plugins.awscredentials.AWSCredentialsImpl
import org.jenkinsci.plugins.plaincredentials.StringCredentials
def changePassword = { id,accessKey, secKey ->
def creds = com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials(
com.cloudbees.jenkins.plugins.awscredentials.AWSCredentialsImpl.class,
Jenkins.instance
)
def c = creds.findResult { it.id == id ? it : null }
if ( c ) {
println "found credential ${c.id} for accessKey ${c.accessKey}"

def credentials_store = Jenkins.instance.getExtensionList(
\'com.cloudbees.plugins.credentials.SystemCredentialsProvider\'
)[0].getStore()

def result = credentials_store.updateCredentials(
com.cloudbees.plugins.credentials.domains.Domain.global(),
c,
new AWSCredentialsImpl(c.scope, id, accessKey, secKey,c.description)
)

if (result) {
println "password changed for ${accessKey}"
} else {
println "failed to change password for ${accessKey}"
}
} else {
println "could not find credential for ${accessKey}"
}
}

关于amazon-web-services - 使用 groovy 脚本更新 jenkins 文件中的 aws 凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46495109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com