使用来自Gitlab-CI的部署令牌克隆外部私有子模块

时间:2018-11-22 13:51:15

标签: gitlab git-submodules gitlab-ci

我在专用服务器serverB上有一个存储库repoB,并从中获取部署令牌(用户+密码)。
该存储库在我要配置的项目中用作子模块。

在这个项目中,我希望能够在Gitlab-CI期间初始化此子模块。

我的.gitmodules是:

[submodule "repoB"]
    path = repoB
    url = https://serverB/groupB/repoB.git

我有.gitlab-ci.yml

test_build:
    variables:
        GIT_SUBMODULE_STRATEGY: recursive

实际上,我得到的错误如下(组:japan7,项目:nanachan,repoB:karaneko,serverB:git.inpt.fr

Error from the CI job

我想我应该将部署令牌用户和密码放在项目秘密中(在设置-> CI / CD->变量中),但是我找不到这些变量的名称,也找不到解决这种特殊情况的帮助

我应该如何进行?
预先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我使用部署令牌解决了相同的问题。只需添加带有deploy令牌的子模块,CI上的所有内容即可正常运行。

- sleep 10

http://<username>:<deploy_token>@gitlab.example.com/tanuki/awesome_project.git如下:

.gitmodules

https://docs.gitlab.com/ee/user/project/deploy_tokens/