Gitlab 使用 webhooks 触发每日 jenkins 作业

Gitlab trigger daily jenkins jobs using webhooks

我正在寻找一种方法来使用 gitlab (14.2.3-ee) webhooks 触发定期的 Jenkins 作业。

截至目前,Jenkins Gitlab 集成正在使用 Push 或 TagPush 事件。但是如何安排定期构建事件?

我在 gitlab 中看到了 CI Schedules 的选项,但这只会执行 gitlab 管道。 如何为此类事件触发 Jenkins 管道?

您可以创建一个简单的预定 gitlab 管道来调用 webhook。

像这样一个简单的工作就足够了:

# Exec pipeline only on scheduled pipeline
workflows:
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule"

trigger-jenkins:
  stage: build
  image: curlimages/curl:7.81.0
  script:
    - curl ${JENKINS_WEBHOOK_URL}

您必须将此代码放入 .gitlab-ci.yml 文件中,并在 CI/CD -> Schedules[=20= 中安排管道] Gitlab项目中的菜单UI.