无法从GitLab CI作业中的Git子模块访问文件
您好:我想请求您的指导,这是我面临的问题 我有两份回购协议,目标是在回购协议1中引用回购协议2中的文件 回购协议1- 回购协议2- 我在House Keeper_job(Repo#1)存储库中定义了.gitmodule文件,如下所示无法从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的一个阶段中,我试图调用驻
[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
中),对我来说从来都不起作用。