如何在 Jenkins 主动选择反应参数中的 groovy 脚本中切换 aws 配置文件
How to switch aws profile within a groovy script in Jenkins active choice reactive parameter
我正在尝试在 Jenkins 主动选择反应参数 [=23= 中切换到 aws prod 配置文件(在 ~/.aws/credentials 中定义为 jprod) ] 脚本。
但似乎没有任何效果。到目前为止,我已经尝试设置 AWS_PROFILE
变量并使用 System.setProperty
定义系统 属性
有趣的是,带有 --profile=jprod 的 aws cli 命令似乎有效。有没有办法用 kops 做类似的事情?或者关于如何在 groovy 脚本中切换配置文件的任何其他建议。
//System.setProperty("AWS_PROFILE", "jprod")
System.properties.'AWS_PROFILE' = 'jprod'
//AWS_PROFILE='jprod'
//def AWS_PROFILE='jstage'
def command ='kops get clusters --state=s3://k8s-bucket-state-prod'
def proc=command.execute()
proc.waitFor()
def output = proc.in.text
def exitcode= proc.exitValue()
def error = proc.err.text
if (error) {
println "Std Err: ${error}"
println "Process exit code: ${exitcode}"
return exitcode
}
return output.tokenize()
找到答案:只需修改命令即可使用 env:
def command ='env AWS_PROFILE=jprod kops get clusters --state=s3://k8s-bucket-state-prod'
我正在尝试在 Jenkins 主动选择反应参数 [=23= 中切换到 aws prod 配置文件(在 ~/.aws/credentials 中定义为 jprod) ] 脚本。
但似乎没有任何效果。到目前为止,我已经尝试设置 AWS_PROFILE
变量并使用 System.setProperty
有趣的是,带有 --profile=jprod 的 aws cli 命令似乎有效。有没有办法用 kops 做类似的事情?或者关于如何在 groovy 脚本中切换配置文件的任何其他建议。
//System.setProperty("AWS_PROFILE", "jprod")
System.properties.'AWS_PROFILE' = 'jprod'
//AWS_PROFILE='jprod'
//def AWS_PROFILE='jstage'
def command ='kops get clusters --state=s3://k8s-bucket-state-prod'
def proc=command.execute()
proc.waitFor()
def output = proc.in.text
def exitcode= proc.exitValue()
def error = proc.err.text
if (error) {
println "Std Err: ${error}"
println "Process exit code: ${exitcode}"
return exitcode
}
return output.tokenize()
找到答案:只需修改命令即可使用 env:
def command ='env AWS_PROFILE=jprod kops get clusters --state=s3://k8s-bucket-state-prod'