1. GitLab钩子是什么?
GitLab钩子是一种机制,它可以在推送操作时触发自定义操作,例如向外部服务发送HTTP请求,发送邮件或使用CI/CD等功能。
2. 如何创建GitLab钩子?
2.1 创建项目
在开始设置GitLab钩子之前,需要先在GitLab上创建一个项目。如果已经有一个项目,则可以跳过此步骤。
在GitLab的主菜单中点击“New project”按钮,然后选择“Blank project”以创建一个新的项目。
git init
git remote add origin [REPO_URL]
git add .
git commit -m "Initial commit"
git push -u origin master
2.2 配置GitLab钩子
在项目页面中点击“Settings”标签,然后选择“Integrations”选项卡才能进入GitLab钩子设置。
在“Integrations”选项卡中,可以创建各种类型的钩子。要创建一个Webhooks钩子,请点击“Webhooks”按钮。
填写Webhooks设置表单的各个字段。
第一步,设置钩子URL,这是推送操作后将发送HTTP请求的URL。URL必须指向可以处理请求的外部服务或脚本。
第二步,选择触发推送操作的事件类型,例如“Push”和“Tag push”。
第三步,选择要在触发推送操作时包含的信息,例如源代码日志、合并请求等。
第四步,点击“Add webhook”按钮保存新的Webhooks。
// 创建Webhooks
POST http://your-gitlab-domain.com/api/v4/projects/:id/hooks
{
"url": "http://example.com/hook",
"push_events": true,
"tag_push_events": false,
"token": "yoursecrettoken",
"enable_ssl_verification": true,
"issues_events": false,
"confidential_issues_events": false,
"merge_requests_events": false
}
3. 测试GitLab钩子
在完成GitLab钩子设置后,可以通过推送新的代码更改来测试钩子是否可用。在GitLab项目的“Activity”选项卡中会显示推送操作的详细信息。如果Webhooks可以正常工作,则应该看到发送给Webhooks的HTTP请求的详细信息。
当然也可以使用模拟服务模拟接收任意body、header等反馈是否正常。模拟服务推荐beeceptor