如何通过GitLab事件触发器触发流水线?请告知具体操作步骤
如何用GitLab事件触发器触发流水线?附配置步骤
GitLab事件触发器分两种类型:一种是监听项目内置事件(比如代码推送、创建标签、提交Merge Request)自动触发流水线,另一种是通过自定义令牌实现手动/外部系统触发。下面是具体配置步骤:
一、基于内置事件自动触发流水线
这种方式无需额外配置令牌,只要在流水线配置文件中指定触发条件即可:
- 打开项目根目录的
gitlab-ci.yml文件,给流水线任务添加触发规则,示例代码如下:build_job: script: - echo "开始构建项目" rules: - if: '$CI_COMMIT_BRANCH == "main"' # 推代码到main分支时触发 - if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/' # 创建v1.0.0这类格式的标签时触发 - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' # 创建或更新MR时触发 - 将修改后的
gitlab-ci.yml推送至仓库,后续对应事件发生时,流水线会自动启动运行。
二、配置自定义触发器令牌触发流水线
适合外部系统调用或手动触发场景,步骤如下:
- 打开目标GitLab项目,点击顶部导航栏的 Settings → CI/CD。
- 向下滚动找到Pipeline triggers区域,点击Add trigger。
- 填写触发器名称(比如「运维手动触发」),点击Create trigger,系统会生成一个唯一的触发令牌。
- 使用令牌触发流水线的两种方式:
- API调用触发:在终端执行以下命令,替换为你的GitLab实际信息:
curl --request POST \ --form "token=你的触发器令牌" \ --form "ref=main" \ https://你的GitLab域名/api/v4/projects/项目ID/trigger/pipeline - GitLab页面手动触发:进入项目的CI/CD → Pipelines,点击Run pipeline,选择目标分支后,在Trigger下拉框中选中你创建的触发器,点击Run pipeline即可。
- API调用触发:在终端执行以下命令,替换为你的GitLab实际信息:
触发器配置页面参考:
内容的提问来源于stack exchange,提问作者anonymous
相关产品推荐
相关产品推荐


