【发布时间】:2021-10-13 13:29:42
【问题描述】:
我正在使用 GitHub Actions 来使用 Terraform 部署我的代码。每当代码被推送到 Testing 分支时,就会触发一个 GitHub Action 来构建代码并运行 terraform apply 。这很好用。
问题是现在我也想要一个Prod 环境。每当代码被推送到Prod 分支时,都应该使用它自己的 s3 远程后端和它的 AWS 账户来构建它。我遇到的问题是我不确定如何配置我的 terraform 文件,以便 terraform GitHubAction 可以使用 Prod 的后端来存储状态文件。请任何能够提供帮助的人。我现在不确定如何设置它。这是我的代码示例
name: "Terraform-Apply-Action"
on:
push:
branches:
- prod
jobs:
terraform:
name: "Terraform"
runs-on: ubuntu-latest
env:
AWS_DEFAULT_REGION: "us-east-1"
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
- name: Terraform Init
id: Init
run: terraform init
- name: Terraform Plan
id: plan
if: github.event_name == 'push'
run: terraform plan -no-color
continue-on-error: true
- name: Terraform Plan Status
if: steps.plan.outcome == 'failure'
run: exit 1
- name: Terraform Apply
run: terraform apply -auto-approve
【问题讨论】:
标签: terraform