gpt4 book ai didi

amazon-web-services - Terraform:使用存储在 AWS CodeCommit 中的版本化模块

转载 作者:行者123 更新时间:2023-12-04 09:37:14 25 4
gpt4 key购买 nike

目前有一个用于存储在 AWS CodeCommit 中的 Terraform 模块的存储库。在 Dev 和 Prod 之间,我们希望为模块使用相同的存储库,但能够让 Dev 和 Prod 使用不同的版本。

我已将标签附加到特定的提交,以便更容易地区分版本。但我似乎找不到任何关于如何引用该标签的文档。

我在 github 上找到了下面的例子来说明它是如何完成的

module "stage_vpc" {
source = "git::git@github.com:gruntwork-io/module-vpc.git//modules/vpc-app?ref=v0.0.4"

vpc_name = "stage"
aws_region = "us-east-1"
num_nat_gateways = 3
cidr_block = "10.2.0.0/18"
}

但尝试对 CodeCommit 做同样的事情似乎并不奏效。它报告“错误的响应代码:401”

试图确定这个 ?ref 是否是在 codecommit 中引用标签的正确方法。

https://git-codecommit.eu-west-1.amazonaws.com/v1/repos/reddwarf-terraform-infrastructure-modules/modules/subnets?ref=subnets-v0.0.1

任何人都可以确认这是否是正确的方法吗?或者还有其他方法吗?

编辑:我现在已经按照设置指南创建了一个 SSH key ,并将其放入我的 IAM 用户中。

module "subnets" {
source = "git::ssh://git-codecommit.eu-west-1.amazonaws.com/v1/repos/reddwarf-terraform-infrastructure-modules/Modules//subnets.git"

产生了以下错误

bobscutter@git-codecommit.eu-west-1.amazonaws.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

./ssh 文件夹存在正确的凭据,不确定我还缺少什么。我还检查了我可以从 Git Bash 连接并且它有效。

最终编辑:从 https 切换到 SSH 并根据 The AWS documentation 创建 ./ssh 目录后,现在可以正常工作了

我只需要在下面的路径中添加//而不是/

  source = "git::ssh://git-codecommit.eu-west-1.amazonaws.com/v1/repos/reddwarf-terraform-infrastructure-modules//Modules//modules-orchestration//subnets

Terraform 成功找到并应用了模块。

最佳答案

对于任何来到这里想知道您是否可以使用 git-remote-codecommit 的人使用 terraform 从 CodeCommit 克隆。答案是肯定的,你可以!

根据 the terraform docs

Terraform installs modules from Git repositories by running git clone, and so it will respect any local Git configuration set on your system, including credentials.

这意味着只要您的 AWS 配置文件设置正确,您就可以设置您的模块 source使用以下任一格式到 codecommmit 存储库

  • codecommit://<profile>@<repository>
  • codecommit::<region>://<profile>@<repository>

它还尊重通过环境变量的配置,如 AWS_PROFILEAWS_DEFAULT_REGION

关于amazon-web-services - Terraform:使用存储在 AWS CodeCommit 中的版本化模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62516401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com