为我的 GitLab-Server 上的每个存储库激活 CI/CD 管道

Posted

技术标签:

【中文标题】为我的 GitLab-Server 上的每个存储库激活 CI/CD 管道【英文标题】:Activate CI/CD pipelines for every repo on my GitLab-Server 【发布时间】:2021-07-31 16:12:14 【问题描述】:

我希望 GitLab-Server 上的每个存储库都有一个特定的 CI/CD 管道。 git/GitLab 支持这样的东西吗?

根据我的研究,实现类似功能的唯一方法是实现post-receive server hook,但据我所知,我必须为用户手动实现某种通知系统,我会失去为 CI/CD 管道构建的漂亮用户界面,这将是丑陋和可悲的。

(另外,我不想使用诸如预接收服务器钩子或任何其他阻止用户提交或推送的钩子之类的东西,因为我的管道有可能需要几分钟,而我不会希望用户在命令行上等待十分钟,只是为了观看一个简单的 repo 被推送。)

那么,有没有什么方法可以实现 CI/CD 管道作为一项要求并为服务器上的每个存储库自动激活?

再澄清一点:我不想要跨多个存储库的管道网络。我有一个独立的管道,应该在每个(现有和未来的)存储库上作为自己的管道运行。

【问题讨论】:

【参考方案1】:

是的,我们可以将下游管道用作 Gitlab 服务器中每个项目的通用管道。

GitLab EE 支持,希望下面的文档可以帮助到你。

https://docs.gitlab.com/ee/ci/multi_project_pipelines.html

【讨论】:

我是否遗漏了什么,或者这只是链接多个存储库及其各自管道的一种方式?

以上是关于为我的 GitLab-Server 上的每个存储库激活 CI/CD 管道的主要内容,如果未能解决你的问题,请参考以下文章

为我的服务器上的 GD 库调整太大的图像

为我的项目对象启用 Google 存储签名 URL 上的 CORS

文件未添加到 Github 上的存储库 - 存储库显示为空

如何使用块为我的整个应用程序共享的每个磁盘上的文档创建一个全局 UIManagedDocument 实例?

如何将两个 git 存储库作为一个存储库进行管理,但又保持独立?

gitlab-server环境搭建