在 GitLab 中创建 merge 请求后, merge 请求失败,由于 jenkins 作业下定义的保留期,jenkins 删除了失败的作业日志。现在,我想仅从 gitlab 重新触发该特定 merge 请求,以便它将触发 jenkins 中的 merge 请求作业。是否可以 ?如果是,我该怎么做?
附注有一个从 Gitlab 到 Jenkins 定义的管道。每当在 gitlab 中创建 merge 请求时,它都会触发 Jenkins merge 请求作业,该作业将特定更改 merge 到 git master 分支。
最佳答案
是的,您可以重新触发 Gitlab 管道!
有两种选择:
使用用户界面
CI / CD
:https://gitlab.com/{user/organization}/{project}/pipelines
Run Pipeline
Create Pipeline
按钮。 这将创建并运行 gitlab 管道。
使用 API
gitlab.com/projects/:id/trigger/pipeline
curl -X POST -F token=TOKEN -F ref=BRANCHNAME https://gitlab.com/api/v4/projects/7471909/trigger/pipeline
如果要触发 build manually在 Jenkins 中,您还可以将 api 与参数化构建结合使用:
curl -X POST JENKINS_URL/job/JOB_NAME/build --user USER:TOKEN --data-urlencode json='{"parameter": [{"name":"branch", "value":"master"}]}'
参数将是要构建的分支;例如,您的 merge 请求的分支。
关于git - 我们可以重新触发 gitlab 管道吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54343432/