首页 > 解决方案 > 如何使 terraform 的版本与亚特兰蒂斯不可变?

问题描述

我使用亚特兰蒂斯来运行 Terraform 的任务。

在 terraform 文件中,我将 AWS 提供商设置为此版本:

terraform {
  required_version = "0.13.5"

  required_providers {
    aws = "3.13.0"
  }
}

这是多个任务之一。其他任务如

terraform {
  required_version = "0.14.9"

  required_providers {
    aws = "3.35.0"
  }
}

亚特兰蒂斯的工作流程设置为

dir: myproj/dev workspace: default

几天后,亚特兰蒂斯服务器检查新任务是否导致运行时出现版本问题terraform init

Initializing provider plugins...
- Finding hashicorp/aws versions matching "3.13.0, >= 2.68.*, >= 2.42.*, >= 3.28.*, >= 2.68.*, >= 2.49.*, >= 2.49.*"...
- Finding hashicorp/random versions matching "3.1.0, >= 3.1.*, >= 2.2.*"...
- Using hashicorp/random v3.1.0 from the shared cache directory

Error: Failed to query available provider packages

Could not retrieve the list of available versions for provider hashicorp/aws:
no available releases match the given constraints 3.13.0, >= 2.68.*, >= 2.42.*, >= 3.28.*, >= 2.68.*, >= 2.49.*, >= 2.49.*

aws我应该总是手动更新模块的新版本吗?如果不升级3.13.0到最新版本有什么办法吗?

标签: amazon-web-servicesmoduleterraformversionterraform-provider-aws

解决方案


您应该在 atlantis.yaml 中配置 terraform 版本

示例:

version: 3
projects:
  - name: my-project-1
    dir: ./my-project-1
    terraform_version: "0.13.5"
  - name: my-project-2
    dir: ./my-project-2
    terraform_version: "0.14.9"

推荐阅读