从AWS Lambda触发Gitlab-ci

时间:2020-04-21 09:33:59

标签: amazon-web-services aws-lambda gitlab-ci slack

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

谢谢。

1 个答案:

答案 0 :(得分:1)

触发管道

根据GitLab Trigger API manual

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

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

必需的参数是将在其上执行触发的trigger’s token和Git ref。有效的引用是分支和标签。您可以通过querying the API或访问 CI / CD 设置页面找到项目的:id,该页面提供了不言自明的示例。

观看管道

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

您可以设置规则以按计划运行AWS Lambda函数。本教程显示了如何使用AWS管理控制台或AWS CLI创建规则。如果您想使用AWS CLI但尚未安装,请参阅AWS Command Line Interface User Guide

要检查作业状态,请使用:Get a single pipelineList project pipelines API调用。

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

通知Slack

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

Creating an AWS Lambda Function and API Endpoint | Slack

关于端点安全的2美分

CI触发器由token保护。通常,足以保护您的端点。

但是,如果方法还不够,则可以使用一些技术来“隐藏”端点: