有没有办法使用环境变量在withCredentials块中动态传递Jenkins管道中的credentialsId?
目前这是可行的:
withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', credentialsId: 'my-aws-credentials',
ACCESS_KEY: 'ACCESS_KEY', SECRET_KEY: 'SECRET_KEY']]) { }
但这并不:
withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', credentialsId: '${AWS_CREDENTIAL_ID}',
ACCESS_KEY: 'ACCESS_KEY', SECRET_KEY: 'SECRET_KEY']]) { }
我应该补充的是,构建在Docker容器中运行,但是其他环境变量工作正常,所以我希望这个环境变量也能工作。
4条答案
按热度按时间q1qsirdb1#
实际上,我可以这样来解决它-〉
eagi6jfj2#
您可以使用withEnv和withCredentials的组合并动态传递凭据。凭据必须使用凭据绑定插件在Jenkins的全局凭据部分中定义:
这对我很有效。希望这对我有帮助!!
fdbelqdn3#
以下示例说明如何根据环境变量
DEPLOYMENT_ENVIRONMENT
的值设置credentialsId:kmynzznz4#
我尝试使用下面的代码根据环境变量的值设置credentialsId,但没有成功:
使用env.variable可以很好地工作: