如何使 terraform 的版本与亚特兰蒂斯不可变?
How to make terraform's version immutable with atlantis?
我使用 Atlantis 来 运行 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"
}
}
Atlantis 的工作流程设置为
dir: myproj/dev workspace: default
几天后,Atlantis 服务器检查新任务导致版本问题 运行 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
版本不升级到最新有什么办法吗?
您应该在 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"
我使用 Atlantis 来 运行 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"
}
}
Atlantis 的工作流程设置为
dir: myproj/dev workspace: default
几天后,Atlantis 服务器检查新任务导致版本问题 运行 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
版本不升级到最新有什么办法吗?
您应该在 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"