无法从GitLab-CI Job中的Git子模块访问文件

时间:2018-09-03 19:21:13

标签: gitlab git-submodules gitlab-ci gitlab-ci-runner

您好:我想在我遇到的问题时要求提供指导。

我有2个Repos,目标是在Repo#1中引用Repo#2中的文件

回购#1-https://gitlab.xyz.com/ertm/search/housekeeper_job.git

回购#2-https://gitlab.xyz.com/ertm/gitlab-pipeline.git

我已经在housekeeper_job(Repo#1)存储库中定义了如下的.gitmodule文件

[submodule "gitlab-pipeline"]
path = gitlab-pipeline
url = ../../gitlab-pipeline.git

在housekeeper_job存储库中.gitlab-ci.yml的其中一个阶段中,我正在尝试调用gitlab-pipeline(Repo#2)存储库中的文件(脚本)。

来源/ertm/gitlab-pipeline/pipeline.sh pipeline.sh是位于Root文件夹中的gitlab-pipeline.git中的文件。

摘录自失败的管道作业的输出

克隆存储库...
克隆到'/ ertm / search / housekeeper_job'...
正在将4fe7240d作为功能/ hkeeper签出...
递归更新/初始化子模块...
正在检查缓存是否为默认值...
成功提取缓存
$ source /ertm/gitlab-pipeline/pipeline.sh
/ bin / bash:第87行:/ertm/gitlab-pipeline/pipeline.sh:没有此类文件或目录

  • gitlab-runner 11.2.0的版本
  • 企业版Gitlab 10.X的版本

我能知道我做错了什么还是我错过了哪一步?

1 个答案:

答案 0 :(得分:0)

我通过删除所有子模块as described here然后使用git submodule add <repo> <path>

解决了一个非常相似的问题

git submodule add不仅可以创建.gitmodule文件。