子模块更改时如何触发管道?
How to trigger a pipeline when a submodule changes?
我有几个使用相同子模块的存储库。有没有办法在子模块的源更改时自动将这些存储库设置为 运行 管道?
例如,如果我在父仓库上推送一些东西,我希望它自动将更改通知给所有使用它作为子模块的仓库,该更改已经发生并且它们的管道需要 运行 .
GitLab 中有一个名为 multi-project pipeline
的功能可以触发存储库之间的构建,但仅限于 Premium 和 Silver 版本:
https://docs.gitlab.com/ee/ci/multi_project_pipelines.html
你可以得到一些东西来处理这个。你只需要记住,仅仅因为你将新的更改推送到你的子模块,使用这个子模块的存储库就不会更新。他们仍然和以前一样提交。
如果你真的想,你当然可以做任何你想做的事。如果你有一台可以设置 gitlab runner 的服务器,你可以这样做:
- 创建一个新的 GitLab 用户
RoboGit
,可以访问子模块和使用该子模块的存储库
- 在服务器上安装并注册一个gitlab runner
- 为子模块创建作业
此作业然后可以手动检查您的依赖项目,找到子模块,将它们更新到最新版本,然后提交这些更改。这些更改的作者将是 RoboGit
,并且这些更改将触发这些存储库中的构建作业。您会得到类似于您在问题中描述的内容。
我有几个使用相同子模块的存储库。有没有办法在子模块的源更改时自动将这些存储库设置为 运行 管道?
例如,如果我在父仓库上推送一些东西,我希望它自动将更改通知给所有使用它作为子模块的仓库,该更改已经发生并且它们的管道需要 运行 .
GitLab 中有一个名为 multi-project pipeline
的功能可以触发存储库之间的构建,但仅限于 Premium 和 Silver 版本:
https://docs.gitlab.com/ee/ci/multi_project_pipelines.html
你可以得到一些东西来处理这个。你只需要记住,仅仅因为你将新的更改推送到你的子模块,使用这个子模块的存储库就不会更新。他们仍然和以前一样提交。
如果你真的想,你当然可以做任何你想做的事。如果你有一台可以设置 gitlab runner 的服务器,你可以这样做:
- 创建一个新的 GitLab 用户
RoboGit
,可以访问子模块和使用该子模块的存储库 - 在服务器上安装并注册一个gitlab runner
- 为子模块创建作业
此作业然后可以手动检查您的依赖项目,找到子模块,将它们更新到最新版本,然后提交这些更改。这些更改的作者将是 RoboGit
,并且这些更改将触发这些存储库中的构建作业。您会得到类似于您在问题中描述的内容。