git Bamboo尝试检出子模块时身份验证失败

qc6wkl3g  于 2023-09-29  发布在  Git
关注(0)|答案(3)|浏览(104)

有没有人能够让他们的Bamboo计划 checkout 子模块?
好像认证失败了。我已经读到我需要设置SSH身份验证,我试过了(虽然我可能有错误),但它阻止了我的计划甚至运行。
我创建了一组ssh密钥,并将密钥添加到Bamboo > Shared Credentials。我还将密钥添加到Stash存储库中,认为它将允许Bamboo通过ssh进行拉取,而不需要骰子。
因此,如果任何人已经能够设置这一点,我真的会很感激一些一步一步的指导。

uyto3xhc

uyto3xhc1#

我做了很多事情来让它工作,但我不确定它们是否都是必需的。
1.生成SSH密钥并添加到~/.ssh(和~/bamboo-home/.ssh)
1.使用IdentityFile ~/.ssh/<key-name>创建~/.ssh/config(和~/bamboo-home/.ssh)
1.将此键添加到ssh-agent。https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#adding-your-ssh-key-to-the-ssh-agent
1.使用此密钥在服务器上克隆存储库并允许指纹
1.向我的计划中添加调用git submodule update --init --recursive的自定义脚本
1.使用链接存储库并启用“使用子模块”

mwngjboj

mwngjboj2#

这就是我在我的环境中所做的。
1.已生成SSH私钥并在Subversion中检查它。
1.把 checkout 的钥匙副本放在竹之家所在的代理处。
1.在我的例子中,它是c:\,所以我将其复制到c:\var\keys\ssh\id_rsa\
1.在bamboo计划中,更改存储库URL:将https://svn.abc.com/development/project1替换为svn+ssh://subversion.abc.com/svn/development/project1
1.验证类型:SSH
1.私钥:/var/keys/ssh/id_rsa/key1

yi0zb3m4

yi0zb3m43#

这个问题有点老了,但当我使用Bitbucket遇到子模块问题时,我就想到了这个问题。这就是我解决的方法。使用另一个git主机,这可能没有帮助。
首先,确保您使用的是Bamboo 8.1.1或更高版本,因为它们添加了对使用SSH密钥的支持,该密钥为您的链接存储库配置,以验证子模块。
该选项位于“Linked repositories”->->Advanced options下,并标记为“SSH key applies to submodules”。
其次,按照这里的说明,确保您的子模块使用正确的路径描述,以便Bamboo能够理解它们; Bitbucket server and cloud repositories with Git Submodules
最后,将存储库高级选项中的“Publickeygeneratedforthisrepository”添加到子模块所在的存储库中。您可以在Bitbucket中使用Repository Settings->Access Keys->Add key并从Linked Repository public key设置中的高级选项中复制和粘贴。

相关问题