我正在尝试使用我的私人 git 存储库作为 terraform 模块的源。
ssh 公钥已复制到 github。
尝试了以下选项作为源,但没有任何效果:
任何帮助是极大的赞赏。
参考以下链接上的 Private Github repos 部分也没有帮助。 https://github.com/alibaba/terraform-provider/blob/master/vendor/github.com/hashicorp/terraform/website/docs/modules/sources.html.markdown
私有 GitHub 存储库 如果您需要 Terraform 从私有 GitHub 存储库获取模块,则必须向 Terraform 提供凭据,以作为对这些存储库具有读取访问权限的用户进行身份验证。
如果您仅在本地计算机上运行 Terraform,则可以将模块源指定为 SSH URI(如 git@github.com:hashicorp/example.git),Terraform 将使用您的默认 SSH 密钥进行身份验证。
如果您使用 Terraform Enterprise,则可以使用 SSH URI。您需要向您的组织添加 SSH 私钥,并将其分配给从私有存储库获取模块的任何工作区。请参阅有关克隆模块的 SSH 密钥的 Terraform Enterprise 文档。
如果您需要在 CI Worker 等远程计算机上运行 Terraform,则需要将 SSH 密钥写入磁盘并在 Worker 的配置过程中适当设置 GIT_SSH_COMMAND 环境变量,或者创建一个对存储库具有读取权限的 GitHub 计算机用户有问题并将其凭据嵌入到模块的源参数中: module "private-infra" { source = "git:: https://MACHINE-USER:MACHINE-PASS@github.com/org/privatemodules//modules/foo " } 请注意,Terraform 不支持在模块的源参数中进行插值,因此如果使用此方法,您必须对计算机用户名和密码进行硬编码。