Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从GitLab CI作业中的Git子模块访问文件_Gitlab_Git Submodules_Gitlab Ci_Gitlab Ci Runner - Fatal编程技术网

无法从GitLab CI作业中的Git子模块访问文件

无法从GitLab CI作业中的Git子模块访问文件,gitlab,git-submodules,gitlab-ci,gitlab-ci-runner,Gitlab,Git Submodules,Gitlab Ci,Gitlab Ci Runner,您好:我想请求您的指导,这是我面临的问题 我有两份回购协议,目标是在回购协议1中引用回购协议2中的文件 回购协议1- 回购协议2- 我在House Keeper_job(Repo#1)存储库中定义了.gitmodule文件,如下所示 [submodule "gitlab-pipeline"] path = gitlab-pipeline url = ../../gitlab-pipeline.git 在House Keeper_作业存储库中.gitlab-ci.yml的一个阶段中,我试图调用驻

您好:我想请求您的指导,这是我面临的问题

我有两份回购协议,目标是在回购协议1中引用回购协议2中的文件

回购协议1-

回购协议2-

我在House Keeper_job(Repo#1)存储库中定义了.gitmodule文件,如下所示

[submodule "gitlab-pipeline"]
path = gitlab-pipeline
url = ../../gitlab-pipeline.git
在House Keeper_作业存储库中.gitlab-ci.yml的一个阶段中,我试图调用驻留在gitlab管道(Repo#2)存储库中的文件(脚本)

source/ertm/gitlab pipeline/pipeline.sh pipeline.sh是位于根文件夹的gitlab-pipeline.git中的文件

从失败管道作业的输出中摘录

克隆存储库…
克隆到“/ertm/search/House keeper_job”…
正在将4fe7240d作为功能/hkeeper签出…
递归更新/初始化子模块…
正在检查缓存的默认值…
已成功提取缓存
$source/ertm/gitlab pipeline/pipeline.sh
/bin/bash:line 87:/ertm/gitlab pipeline/pipeline.sh:没有这样的文件或目录

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

我能知道我做错了什么或者我缺少了什么步骤吗?

我解决了一个非常类似的问题,方法是删除所有子模块,然后使用
git submodule add


git submodule add
不仅仅是创建一个
.gitmodule
文件。

我想你需要让你的CI系统运行到
git clone--recursive
或类似的模式,以便它检查你的子模块代码。@Hitobat,我已经在gitlab-ci.yml中添加了
GIT\u子模块\u策略:recursive
。您可以看出这不起作用,因为行
递归地更新/初始化子模块…
后面应该跟
子模块“name”(https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.com/group/name)已注册,用于将路径“path”克隆到“/builds/…”。。。子模块路径“path”:签出的“GUID”
这看起来像是货物崇拜,但允许本地路径为默认路径(如在
git Submodule add
中),对我来说从来都不起作用。