3

我正在寻找可以触发 Gitlab-ci 管道以部署特定分支并将结果发送到 slack 的 lambda。

谢谢。

4

1 回答 1

2

触发管道

根据GitLab 触发器 API 手册

要触发作业,您需要向POSTGitLab 的 API 端点发送请求:

    curl -X POST <API url>/projects/<your_awesome_gitlab_project>/trigger/pipeline

必需的参数是触发器token和将在其上执行触发器的 Git ref。有效的参考是分支和标签。:id可以通过查询 API或访问提供不言自明的示例的 CI/CD 设置页面来找到项目的。

观察管道

要检查管道结果,请使用CloudWatch Events

您可以设置规则以按计划运行 AWS Lambda 函数。本教程展示了如何使用 AWS 管理控制台或 AWS CLI 创建规则。如果您想使用 AWS CLI 但尚未安装它,请参阅AWS 命令​​行界面用户指南

要检查作业状态,请使用:获取单个管道列出项目管道API 调用。

curl --header "PRIVATE-TOKEN: " " https://gitlab.example.com/api/v4/projects/1/pipelines/46 "

通知Slack

要使用 发送Slack通知,请lambda使用本教程:

创建 AWS Lambda 函数和 API 终端节点 | 松弛

关于端点安全的两分钱

CI 触发器由token保护。一般来说,这足以保护您的端点。

但是,如果这种方法还不够,还有一些技术可以“隐藏”端点:

于 2020-04-21T17:27:02.203 回答