云构建在 git 子模块上失败
Posted
技术标签:
【中文标题】云构建在 git 子模块上失败【英文标题】:Cloud build failing on git submodules 【发布时间】:2017-09-12 06:29:04 【问题描述】:我在 VSTS 上托管的带有子模块的 git repo 中有一个 Unity 项目,我已将 git repo 与 Unity cloud build 集成在一起。
当 Cloud Build 厌倦了构建时,它似乎可以很好地检查所有内容,直到它到达模块,它挂在“328:克隆到‘Assets/MySubmodule’中……并在那里等待大约由于耗时过长,构建失败前一小时。
我有时会收到如下错误:
“https://mycompany.visualstudio.com”的用户名:将“https://mycompany.visualstudio.com/DefaultCollection/_git/mysubmodulerepopath”克隆到子模块路径“Assets/mysubmodule”失败
我认为问题可能是子模块没有被引用为 ssh 链接,而是直接作为 https,是否有一些解决方法或我需要做些什么才能让它们工作?
【问题讨论】:
【参考方案1】:我认为问题可能是子模块没有被引用为 ssh 链接,而是直接作为 https
然后,您可以再次克隆,这次使用 ssh。 首先,输入:
git config --global url."git@github.com:".insteadOf "https://github.com/"
然后再次克隆你的 repo (git clone --recursive
)
【讨论】:
【参考方案2】:通过更新子模块 git urls 以使用 ssh 解决了这个问题
【讨论】:
这确实是一种方式。 +1 我的解决方案不涉及更改跟踪文件。以上是关于云构建在 git 子模块上失败的主要内容,如果未能解决你的问题,请参考以下文章
GitLab runner 获取子模块的“主机密钥验证失败”
在 ssh-agent 中同时加载两个 ssh-keys 时,克隆(更新)git 子模块失败
应该如何为 laravel 4 composer 包设置 git 子模块?