在 GitLab 中是否可以配置定期在所有分支上运行的预定管道?

In GitLab is it possible to configure a Scheduled Pipeline that runs on all branches periodically?

我使用 GitLab 进行 Git 版本控制,使用 GitLab CI / CD 进行自动构建。通常,构建是由 Git 存储库 activity 触发的,但我也每周进行一次构建,以确保未在积极开发中的项目继续工作。当一个项目只有一个 "master" 分支时,很容易确保每周构建 运行 最新代码。当一个项目中有多个分支时,我想依次为每个分支重复管道工作。

我希望能够安排 运行 在 Git 中可见的所有当前分支上构建(每周、每两周或每月)。这在 GitLab 的持续交付系统中可能吗?


这样做的动机是确保外部 activity,例如工具和库更新,不会在没有及时可见的情况下引入问题。假设目标平台有合理的自动化测试、覆盖和全面构建,使用最新工具的月度构建应该能及时突出问题。这比项目搁置数年(或数月)时积累的问题要好于无形的大山。有时,所需要的只是偶尔的维护。

目前项目上只有少数功能分支和发布线。我不希望这个数字显着增长。一个周末的时间足以 运行 目前所需的管道数十次(如果不是数百次的话)。


理想情况下,我希望设置简单明了。我目前在管理 GUI 中看不到任何允许这样做的内容。我确实查看了 API,我可以看到那里有一些范围可以编写添加和删除脚本。也许每月 运行 一次基于 git 分支创建新的预定管道的脚本是唯一的方法。这些线路上的预制解决方案是完全可以接受的。如果什么都不存在,我可能会及时开始做类似的事情。

我目前正在 运行宁 GitLab Community Edition 11.2.3 06cbee3 (GitLab CE 11.2.3)。如果只有企业版的答案,那很好,并且会增加购买 EE 版本的理由。不过,我会在 EE 之上选择 CE。

您不能一次为所有分支设置时间表,您必须自己为每个分支配置一个时间表。

Perhaps some script that is run once a month to create new Scheduled pipelines based on git branches is the only way.

我会走那条路。