我有一些使用相同子模块的存储库。有没有一种方法可以设置这些存储库以在其子模块的来源更改时自动运行管道?
例如,如果我在父存储库上推送某些内容,我希望它使用更改作为子模块自动将更改通知所有存储库,则更改已发生并且需要运行其管道。
[GitLab中有一个称为multi-project pipeline
的功能,可以触发存储库之间的构建,但仅在Premium和Silver版本中:
https://docs.gitlab.com/ee/ci/multi_project_pipelines.html
您可能会对此有所帮助。您只需要记住,仅仅因为您将新更改推送到了子模块,使用该子模块的存储库就不会更新。他们仍然和以前一样在同一提交上。
当然,如果您确实愿意,您可以做任何您想做的事情。如果您有一台可以设置gitlab运行程序的服务器,则可以执行以下操作:
RoboGit
,可以访问该子模块和使用该子模块的存储库然后,该作业可以手动检出您的依赖项目,找到子模块,将其更新为最新版本,然后提交这些更改。这些更改的作者将为RoboGit
,并且这些更改将触发这些存储库中的构建作业。您会得到与您在问题中描述的内容类似的东西。