配置 Terraform AWS Provider 时的 Github Actions 错误

jip*_*pot 2 terraform terraform-provider-aws github-actions

尝试运行时,我使用 Terraform AWS Provider 收到以下错误terraform plan。仅当在 GitHub Actions 上运行时才会发生这种情况(在本地工作正常)

配置 Terraform AWS Provider 时出错:无法获取共享配置文件

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.22"
    }
  }
  required_version = ">= 1.1.7"
}
Run Code Online (Sandbox Code Playgroud)

如果我降级到version = "~> 3.0"它就可以解决问题。但我想升级到最新版本。

有没有办法让它在 CI 上运行?

jip*_*pot 5

找到了解决方案

在 GitHub Actions 文件中,我们有类似以下内容:

# Provides AWS credentials to Terraform
- name: Configure AWS Credentials
  uses: aws-actions/configure-aws-credentials@v1
  with:
    aws-region: us-east-1
    aws-access-key-id: ${{ secrets.YOUR_ACCESS_KEY }}
    aws-secret-access-key: ${{ secrets.YOUR_SECRET_ACCESS_KEY }}
Run Code Online (Sandbox Code Playgroud)

我必须删除它并将其更改为通过身份验证,aws configure如下所示:

- name: Add profile credentials to ~/.aws/credentials
  run: |
    aws configure set aws_access_key_id ${{ secrets.YOUR_ACCESS_KEY }} --profile test-1
    aws configure set aws_secret_access_key ${{ secrets.YOUR_SECRET_ACCESS_KEY }} --profile test-1
Run Code Online (Sandbox Code Playgroud)