continuous-integration - 如何设置 Gitlab 将数据发布到经过身份验证的服务?
问题描述
我正在托管一个 gitlab。对于某些存储库(可能来自不同的用户),我想为代码创建一个 tarball,并在每次 git push 时发布到另一个服务 A 的 REST API。
但是,我的服务 A 的 api 需要身份验证才能访问。所以我使用 A 作为 OAuth 服务器来登录 gitlab。
现在我的问题是,如何正确上传文件。
我现在正在考虑的几种方法。但我不确定我的理解是否正确。
- 服务器端 git 钩子。但似乎挂钩是纯粹的可执行脚本,没有令牌或登录会话信息。
- 网钩。这可能会解决服务 A 的身份验证(或不是?),但无法创建要上传的 tarball。而且似乎用户只能控制 URL,但不能自定义有效负载?
- 插入。与(1)相同的问题。身份验证状态丢失。
- CI/CD。同样,与 (1) 相同。
解决方案
推荐阅读
- javascript - 为什么 Firefox 不等待 WebSocket 连接?
- amazon-web-services - 使用 AWS 将子域重定向到不同的域
- kubernetes - 如何从使用 KubernetesPodOperator 启动的 pod 访问 Google Cloud Composer 的数据文件夹?
- c# - 为什么我的代码不会破坏列表的所有对象,而是随机保存其中一些?(统一 2d)
- sql - 如何在 Postgres 中创建基于一天中的小时、一周中的一天、1 小时、2 小时和 3 小时窗口计算聚合的每小时使用配置文件
- c - 警告:传递“Proc_Start”参数 3 的指针目标在符号上不同
- php - 使用 PHP 解析 RSS Feed XML -> 无法获取 iTunes:image 属性
- azure - az login 从 github 操作任务失败
- kubernetes - 是否存在与 Openshift/Kubernetes 中的“限制”不同的“初始内存分配”?
- jasper-reports - Jaspersoft Reports,如何在 IF-ELSE 子句中检查文件是否存在?