jenkins - 需要使用 jenkinsfile 调用 lambda 函数
问题描述
我正在尝试使用带有有效负载的 Jenkinsfile 调用 AWS Lambda 函数。无法将 instance_ip 变量注入有效负载。
def instance_ip = "10.X.X.X"
pipeline {
agent any
stages {
stage('Terminate Machine') {
steps {
script {
sh(script: 'aws lambda invoke --function-name terminate-instance --payload '{"private_ip_address":"${instance_ip}" }')
}
}
}
}
}
解决方案
我面临着同样的问题。因此,为了传递有效负载,在 Jenkins 文件中,我使用 echo 创建了一个 Json 有效负载文件,然后将其传递给 aws cli。它可能不是最干净的解决方案,但它有效。这是我的代码的样子:
echo '{ "tagKey"':'"'"${tagKey}"'"', '"tagValue"':'"'"${tagValue}"'"', '"region"':'"'"${region}"'"' } > json.json
cat json.json
ls -alrt
aws lambda invoke --function-name tag_remediator --cli-binary-format raw-in-base64-out --payload file://json.json out_"$tagKey".txt --region "${region}"
推荐阅读
- tensorflow - protoc 看不到文件?(我做错了什么)
- android - Android小部件中TextView上的自定义字体使用
- git - 在推送之前多天处理多个文件的良好 git 实践是什么
- python - PyQT5:在 qsql 中不维护 SpinBox 值
- wordpress - 使用 Timber 获取 ACF OEmbed URL 而不返回 iFrame
- python - 无法编码或解码以在我的字符串上看到“ç”
- javascript - 如何在反应中停止递归 setTimeout 函数(clearTimeout 不起作用)?
- python-3.x - 使用 Boto3 删除 SQS 消息时如何防止连接超时
- scala - 使用 akka-http 模板的新 sbt 应用程序,如何确定解析器并添加 maven Central?
- microsoft-graph-api - 通过 Graph API 创建 OneNote 页面时设置页面顺序