在Gitlab CI工作中使用Git子模块不起作用

时间:2018-03-21 10:20:54

标签: gitlab git-submodules gitlab-ci

摘要

Git子模块在CI作业中不起作用

重现的步骤

创建文件 .gitmodules

[submodule "database_schema"]
  path = database_schema
  url = ../../nss/database_schema.git

我的 .gitlab-ci.yml

variables:
  GIT_SUBMODULE_STRATEGY: recursive

rspec:
  stage: test
  before_script:
    - ls
    - cd database_schema

当前的错误行为是什么?

我无法访问ci job中的子模块库。

$ cd database_schema
/bin/bash: line 63: cd: database_schema: No such file or directory

但我可以在我的工作中看到递归/初始化子模块。

Fetching changes...
Checking out e5ed3c03 as master...
Updating/initializing submodules recursively...
Checking cache for master...
Successfully extracted cache

1 个答案:

答案 0 :(得分:0)

因为ssh不可用。

在.gitmodules中编辑每个URL行以使用地址的HTTP形式。

我托管的Hugo网站在.gitmodules中具有以下功能:

url = http://github.com/ribice/kiss.git

这解决了我在Gitlab CI构建过程中出现的故障