Eri*_*ord 2 amazon-web-services terraform aws-codebuild
使用以下buildspec.yml在codebuild中运行terraform部署。似乎terraform没有获得codebuild角色提供的IAM权限。我们正在使用terraform的远程状态(状态文件存储在s3中),当terraform尝试联系包含状态文件的S3存储桶时,它死了,要求provider配置terraform :
Downloading modules (if any)...
Get: file:///tmp/src486521661/src/common/byu-aws-accounts-tf
Get: file:///tmp/src486521661/src/common/base-aws-account-
...
Error configuring the backend "s3": No valid credential sources found for AWS Provider.
Run Code Online (Sandbox Code Playgroud)
这是buildspec.yml:
version: 0.1
phases:
install:
commands:
- cd common && git clone https://eric.w.nord@gitlab.com/aws-account-tools/acs.git
- export TerraformVersion=0.9.3 && cd /tmp && curl -o terraform.zip https://releases.hashicorp.com/terraform/${TerraformVersion}/terraform_${TerraformVersion}_linux_amd64.zip && unzip terraform.zip && mv terraform /usr/bin
build:
commands:
- cd accounts/00/dev-stack-oit-byu && terraform init && terraform plan && echo terraform apply
Run Code Online (Sandbox Code Playgroud)
编辑:已修复该错误,因此,如果将它们添加到buildspec文件中,请删除下面的这些行。
在之前terraform init,添加以下行:
export AWS_ACCESS_KEY_ID=`curl --silent 169.254.170.2:80$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI | jq -r '.AccessKeyId'`
export AWS_SECRET_ACCESS_KEY=`curl --silent 169.254.170.2:80$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI | jq -r '.SecretAccessKey'`
export AWS_SESSION_TOKEN=`curl --silent 169.254.170.2:80$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI | jq -r '.Token'`
Run Code Online (Sandbox Code Playgroud)
它更具可读性。
| 归档时间: |
|
| 查看次数: |
1541 次 |
| 最近记录: |