如何指定GitLab';是否将CI子模块设置为仅在主分支上使用提交?
我通过GitLab的集成CI实现了自动部署管道设置: (1) 我有一个带有GitLab runner的CentOS服务器(使用如何指定GitLab';是否将CI子模块设置为仅在主分支上使用提交?,git,gitlab,gitlab-ci,Git,Gitlab,Gitlab Ci,我通过GitLab的集成CI实现了自动部署管道设置: (1) 我有一个带有GitLab runner的CentOS服务器(使用shellexecutor) (2) 我有一个存储库,其中包含一个.gitlab ci.yml文件和一个指定两个存储库的.gitsubmodules文件 (3) My.gitsubmodules文件指定每个子模块的master分支,如下所示: [submodule "api"] path = api url = ../api.git branch
shell
executor)
(2) 我有一个存储库,其中包含一个.gitlab ci.yml
文件和一个指定两个存储库的.gitsubmodules
文件
(3) My.gitsubmodules
文件指定每个子模块的master
分支,如下所示:
[submodule "api"]
path = api
url = ../api.git
branch = master
[submodule "client"]
path = client
url = ../client.git
branch = master
我直接在子模块目录(/client
和/api
)中工作
我希望父目录(即包含两个子模块的“部署”存储库)真正只反映对子模块主分支的更改。但是,我发现这并没有发生(如果这有帮助的话……在使用repo一段时间后,我将.submodules
文件更改为branch=master
)
当我将部署项目推送到GitLab时,我发现子模块设置包括任何分支的最新提交,而不是我想要的主分支
我在.gitlab ci.yml
文件中有这样一个选项,用于指定如何设置子模块:
GIT_SUBMODULE_STRATEGY: recursive
我做错了什么?例如,我如何在.gitlab ci.yml
文件中指定我只想使用子模块的主分支
这个答案:对我不起作用。我似乎可以通过指定
--remote
:
git submodule update --remote --recursive
根据这个答案:
不过我觉得这有点不太对劲,如果有更好的方法,我希望有更好的方法