Tan*_*bey 10 bash amazon-web-services terraform aws-codebuild
我正在使用AWS CodeBuild和Terraform自动部署基于Lambda的服务.我有一个非常简单的buildscript.yml完成以下内容:
"获取信用档案"这一步骤是我遇到困难的地方.我有一个简单的bash单行程序,它抓取AWS容器信誉curl 169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI,然后按以下格式将它们保存到文件中:
export AWS_ACCESS_KEY_ID=SOMEACCESSKEY
export AWS_SECRET_ACCESS_KEY=MYSECRETKEY
export AWS_SESSION_TOKEN=MYSESSIONTOKEN
Run Code Online (Sandbox Code Playgroud)
当然,显而易见的一步就是简单地source将这些变量添加到我的环境中以供Terraform使用.但是,当我这样做时source /path/to/creds_file.txt,CodeBuild返回:
[Container] 2017/06/28 18:28:26 Running command source /path/to/creds_file.txt
/codebuild/output/tmp/script.sh: 4: /codebuild/output/tmp/script.sh: source: not found
Run Code Online (Sandbox Code Playgroud)
我试图安装source通过,apt但后来我得到一个错误,说source无法找到(是的,我已经运行apt update等).我在CodeBuild的Python 2.7环境中使用标准的Ubuntu映像.如何在Codebuild中为源凭据文件获取Terraform工作凭据.
谢谢!
CodeBuild 现在支持bash作为您的默认 shell。你只需要在你的buildspec.yml.
env:
shell: bash
Run Code Online (Sandbox Code Playgroud)
参考:https : //docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax
| 归档时间: |
|
| 查看次数: |
4507 次 |
| 最近记录: |