使用bitbucket git存储库源通过SSH下载模块时出现的问题

时间:2019-05-26 14:59:03

标签: git bitbucket terraform

从本地源调用模块时一切正常,但是我决定重构Terraform代码以将git存储库用于模块。

我在BitBucket帐户中创建了一个名为terraform-modules的新存储库,并将模块的source属性重构为具有以下结构:

source     = "git::ssh://git@bitbucket.org:carepaydev/terraform-modules.git//modules/iam/iam_roles/assumable_role"

致电terraform init时出现以下错误:

Error downloading modules: Error loading modules: error downloading 'ssh://git@bitbucket.org:<username>/terraform-modules.git': /usr/local/bin/git exited with 128: Cloning into '.terraform/modules/caf541f5e5ccbb1d204bce3b94091014'...
ssh: Could not resolve hostname bitbucket.org:<username>: nodename nor servname provided, or not known
fatal: Could not read from remote repository.

使用git clone克隆存储库确实可行。我尝试将TF_LOG的环境变量设置为TRACE,以查看是否可以为我提供更多的见识,但这无济于事。

任何线索为何失败?

2 个答案:

答案 0 :(得分:2)

ssh://git@bitbucket.orgusername/repo之间的冒号更改为斜杠:

ssh://git@bitbucket.org/username/repo

以这种格式,冒号表示备用端口-如果您想执行ssh://git@altssh.bitbucket.org:443/username/repo,则很有用,类似于为其他协议(例如HTTP)指定备用端口的方式。

答案 1 :(得分:0)

尝试访问私有存储库时,您在hashicorp/terraform issue 12696上遇到类似的错误。

至少,请尝试设置git config --global core.sshCommand "ssh -Tvv",以查看git clone进程中Terraform durong实际使用了什么私钥。