GitLab runner 子模块更新初始化问题

问题描述 投票:0回答:0

我正在使用

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
时遇到错误。由于我通过阅读相关问题尝试了很多方法,所以有很多不同的错误信息。这就是为什么我没有直接粘贴错误信息的原因。下面有很多解决方案建议:

  1. 为子模块使用 ssh 地址而不是 HTTPS。
  2. 也为子模块激活跑步者。
  3. 输入主仓库到子仓库访问令牌区域的路径。
  4. ssh://
    添加到
    .gitmodules
    文件的URL部分。

看其他帖子,这个问题引起的原因很多,因为很多人说这个可以解决,但不是那个,各有不同。

我想知道做这样一个过程的正确方法是什么。例如,运行者可以访问私有的主仓库,但不能访问私有子模块。这是事实吗?如果是的话,为什么会这样,而两者都是私人的?

这看起来像是不同的问题,但我认为在这篇文章中它们都是同一个问题。

注意:(我不知道它是否有帮助,但是当我公开一个子模块时,错误仍然存在。但是,当我在公开后更改子模块的目录时,它就解决了。相同的行为是相反的。当它开始克隆一个公共子模块,当我将其设为私有时它会继续克隆。但是,如果我更改子模块目录,它会在克隆子模块时再次出错。)

git-submodules gitlab-ci-runner
© www.soinside.com 2019 - 2024. All rights reserved.