我们如何在推送到存储库之前触发 gitlab-ci?

How can we trigger gitlab-ci before pushing to repository?

我想在 GitLab 服务器端实现预接收挂钩,但我们无权访问文件系统。有什么办法可以用 GitLab-ci 来处理吗?我想控制什么可以推送到存储库,什么不能推送。

一种可能的解决方法是开发人员:

  • 推送到网关存储库
  • 来自官方的。

(均在 GitLab 上)

然后您可以在第一个 on push: 上关联一个作业,以验证已推送的内容。
如果通过验证,作业会将提交推送到第二个官方存储库。

可以在 gitLab 中实现 pre-recieve 挂钩,但是当我们可以访问文件系统时就会出现这种情况。现在,我添加了 gitlab-ci,它将检查受保护分支上的每个合并请求,并让所有开发人员推送到临时分支。