我正在使用
GitLab Community Edition 15.8.0
。我有两个私人仓库,分别是 module1
和 mkdocstest
。我正在使用 GitLab-runner 来制作 ci/cd 进程。 mkdocstest
包括 module1
回购作为子模块。我在 yml
文件中使用下面的部分。
before_script:
- export GIT_SSL_NO_VERIFY=1
- git submodule update --init
我在
submodule update init process
时遇到错误。由于我通过阅读相关问题尝试了很多方法,所以有很多不同的错误信息。这就是为什么我没有直接粘贴错误信息的原因。下面有很多解决方案建议:
ssh://
添加到.gitmodules
文件的URL部分。看其他帖子,这个问题引起的原因很多,因为很多人说这个可以解决,但不是那个,各有不同。
我想知道做这样一个过程的正确方法是什么。例如,运行者可以访问私有的主仓库,但不能访问私有子模块。这是事实吗?如果是的话,为什么会这样,而两者都是私人的?
这看起来像是不同的问题,但我认为在这篇文章中它们都是同一个问题。
注意:(我不知道它是否有帮助,但是当我公开一个子模块时,错误仍然存在。但是,当我在公开后更改子模块的目录时,它就解决了。相同的行为是相反的。当它开始克隆一个公共子模块,当我将其设为私有时它会继续克隆。但是,如果我更改子模块目录,它会在克隆子模块时再次出错。)