[英]GiT pipeline to invoke lambda function created using terraform,
stages:
- validate
- plan
- apply
- invoke
image:
name: hashicorp/terraform:light
entrypoint:
- '/usr/bin/env'
- 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
before_script:
- set TF_VAR_AWS_ACCESS_KEY=${AWS_ACCESS_KEY_ID}
- set TF_VAR_AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- rm -rf .terraform
- terraform --version
- terraform init
validate:
stage: validate
script:
- terraform validate
plan:
stage: plan
script:
- terraform plan -out "planfile"
dependencies:
- validate
artifacts:
paths:
- planfile
apply:
stage: apply
script:
- terraform apply -input=false "planfile"
dependencies:
- plan
invoke:
stage: invoke
script:
- set func_name = ${CI_COMMIT_REF_NAME}-"hello-world"
- aws lambda invoke --function-name '$func-name' response.json
dependencies:
- apply
In the above script, in invoke stage i want to pass the lambda function main as argument, lambda function name prefixed with the gitlab branch name.在上面的脚本中,在调用阶段我想传递 lambda function main 作为参数,lambda function 名称以 gitlab 分支名称为前缀。
I am getting function arg syntax error.我收到 function arg 语法错误。
Could someone help in finding a solution to pass the function name arg prefixed with gitlab branch name to AWS lambda invoke CLI command.有人可以帮助找到解决方案,将前缀为 gitlab 分支名称的 function 名称 arg 传递给 AWS lambda invoke CLI 命令。
Gitlab branch name environment variable is CI_COMMIT_BRANCH
https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#:~:text=branches%20or%20tags.-,CI_COMMIT_BRANCH,-12.6 Gitlab 分支名称环境变量是
CI_COMMIT_BRANCH
https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#:~:text=branches%20or%20tags.-,CI_COMMIT_BRANCH,-12.6
You don't need to create any extra variables.您不需要创建任何额外的变量。
invoke:
stage: invoke
script:
- aws lambda invoke --function-name "${CI_COMMIT_BRANCH}-hello-world" response.json
dependencies:
- apply
If you want to use it with variables.如果你想将它与变量一起使用。
invoke:
stage: invoke
script:
- func_name="${CI_COMMIT_REF_NAME}-hello-world"
- aws lambda invoke --function-name "$func_name" response.json
dependencies:
- apply
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.