首页 > 解决方案 > 如何设置 Gitlab 将数据发布到经过身份验证的服务?

问题描述

我正在托管一个 gitlab。对于某些存储库(可能来自不同的用户),我想为代码创建一个 tarball,并在每次 git push 时发布到另一个服务 A 的 REST API。

但是,我的服务 A 的 api 需要身份验证才能访问。所以我使用 A 作为 OAuth 服务器来登录 gitlab。

现在我的问题是,如何正确上传文件。


我现在正在考虑的几种方法。但我不确定我的理解是否正确。

  1. 服务器端 git 钩子。但似乎挂钩是纯粹的可执行脚本,没有令牌或登录会话信息。
  2. 网钩。这可能会解决服务 A 的身份验证(或不是?),但无法创建要上传的 tarball。而且似乎用户只能控制 URL,但不能自定义有效负载?
  3. 插入。与(1)相同的问题。身份验证状态丢失。
  4. CI/CD。同样,与 (1) 相同。

标签: continuous-integrationgitlabgithooks

解决方案


推荐阅读