【发布时间】:2022-01-17 01:50:09
【问题描述】:
我正在尝试从 AWS Parameter Store 获取 Jenkins CI/CD 管道的环境变量。我已将 IAM 角色分配给此实例,因此不需要传递任何凭据。 这是我的参数
{
"Parameters": [
{
"Name": "Test",
"Type": "String",
"Value": "Hello World",
"Version": 1,
"LastModifiedDate": 1639400445.755,
"ARN": "arn:aws:ssm:########:#########:parameter/Test",
"DataType": "text"
}
],
"InvalidParameters": []
}
我已经安装了 AWS Parameter Store Build Wrapper 插件并使用 withAWSParameterStore 方法来获取值。
这就是我的尝试
val = withAWSParameterStore(namePrefixes: "Test", regionName: '#######'){}
echo val
变量 var 返回 null。
如何在此处捕获值“Hello World”。
【问题讨论】:
-
参数将在
withAWSParameterStore块内可用。试试withAWSParameterStore(namePrefixes: "Test", regionName: '###'){ echo "My parameter value is ${Test}"} -
@NoamHelmer 它没有识别参数测试。收到错误
groovy.lang.MissingPropertyException: No such property: Test for class: groovy.lang.Binding -
尝试
env.Test,如果它不起作用,则说明withAWSParameterStore关键字的参数存在问题。 -
问题出在凭据上,我必须明确传递凭据,而分配给 Jenkins 服务器的 IAM 角色在这里没有帮助。 @NoamHelmer
-
@NoamHelmer 感谢您提供语法。一旦完成凭证部分,它就可以无缝地工作了。
标签: amazon-web-services jenkins jenkins-pipeline jenkins-plugins aws-parameter-store