通过 UI 控制台使用 Pipelines
功能创建了 Pipeline
和 Trigger
后,即使事件已发送(例如代码已推送),Pipeline
仍未被自动触发。
该问题可能由以下几种原因导致:
EventListener
未部署,或未监听目标命名空间中的 Triggers
,或可能过滤了该事件。EventListener
部署所使用的 ServiceAccount
权限不足。Trigger
配置不正确。针对上述可能的问题,按照以下步骤查找问题根因:
EventListener
已部署且可以从事件源(如 GitLab 实例)访问。EventListener
资源,检查其是否监听目标命名空间中的 Triggers
,查看 EventListener
资源的 spec
,应将 namespaceSelector
字段设置为 *
或列出目标命名空间。EventListener
资源中的 interceptors
未过滤该事件。EventListener
日志是否有错误或警告。可通过 kubectl
命令查看:kubectl logs <eventlistener-pod-name> -n <namespace>
EventListener
使用的 ServiceAccount
具有适当权限,包括对 PipelineRun
资源的 create
权限。有关 EventListener 配置的详细文档,请参见 EventListener
Trigger
配置正确,确保 TriggerBinding
或 ClusterTriggerBinding
中的参数与 TriggerTemplate
中使用的参数匹配。有关如何使用 GitLab 事件示例设置 Trigger
的详细文档,请参见 Gitlab Events