gpt4 book ai didi

git - 使用用作模块源的 bitbucket 存储库处理 ssh/https 身份验证

转载 作者:行者123 更新时间:2023-12-02 14:06:52 25 4
gpt4 key购买 nike

我正在尝试使用我在 BitBucket 的专用私有(private)模块存储库中获得的 Terraform 模块。我在 BitBucket 中有一个应用程序存储库,其中包含 Terraform 模板,该模板使用模块存储库中的一个模块。当我 checkin 对应用存储库的更改时,它会触发 BitBucket 管道。

当 BitBucket Pipelines 在我的应用存储库上运行时,其中的 Terraform 模板将我的模块存储库作为模板使用的模块的源。 Pipeline 运行 terraform init 失败,因为 Pipeline 需要输入模块源存储库的密码。我见过人们使用 git credential helper 来存储凭据,但这似乎是一种缓存以前输入的凭据的解决方案。在此解决方案中情况并非如此,因为这是一个 Docker 镜像,之前不会在其上缓存我的 git 凭据。

我也花了很多时间尝试让 ssh 使用它。我已经在我的应用程序存储库中生成了公共(public)/私有(private) ssh key ,将公钥提供给了我的模块存储库,然后将模块源设置为我的 ssh git 路径。 Terraform 无法确定存储库路径,告诉我它不是有效的存储库。

Error downloading modules: Error loading modules: error downloading 'ssh://git@bitbucket.org:foo/bar.git': C:\Program Files\Git\cmd\git.exe exited with 128: Cloning into '.terraform\modules\f169a1ea8d4eb404'... ssh: Could not resolve hostname bitbucket.org:foo: Name or service not known fatal: Could not read from remote repository.

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

使用 ssh 时,我尝试将源设置为 git::ssh://git@bitbucket.org:foo/bar.gitgit::git@bitbucket .org:foo/bar.git。每次我都被告知这不是一个有效的存储库,主机名是未知的并且无法获得授权。我还在 Windows 上的 $HOME/.ssh 路径下将 bitbucket.org 添加到我的 known_hosts 文件中。我不确定是否正确使用了 SSH key ,或者 Terraform 是否无法确定 BitBucket 存储库路径。

我更喜欢通过 HTTPS/缓存凭证进入 SSH 路由,但我无法让它工作,即使我在我的 Windows 机器上本地运行“terraform init”。所以我想从这里开始,我必须在 Windows 上做什么才能让 Terraform 使用 SSH 作为模块源使用 BitBucket 存储库?

最佳答案

I'm not sure if the SSH keys are being used correctly or if Terraform can't figure out the BitBucket repository path

在将环境变量 GIT_SSH_COMMAND 设置为 ssh -v 后,尝试再次启动所有进程:这将显示用于 ssh session 的 key 。
注意:ssh://git@bitbucket.org:foo/bar.git是错误的:应该是ssh://git@bitbucket.org/foo/bar.git.

关于git - 使用用作模块源的 bitbucket 存储库处理 ssh/https 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52350108/

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