我们可以重新触发gitlab管道吗?

时间:2019-01-24 09:37:57

标签: git jenkins gitlab gitlab-ci

在GitLab中创建合并请求后,合并请求失败,由于jenkins作业下定义的保留期限,jenkins删除了失败的作业日志。现在,我想仅从gitlab重新触发该特定的合并请求,以便它将触发jenkins中的合并请求作业。可能吗 ?如果是,我该怎么做?

P.S。从Gitlab到Jenkins定义了一条管道。每当在gitlab中创建合并请求时,都会触发Jenkins合并请求作业,该作业会将特定更改合并到git master分支。

1 个答案:

答案 0 :(得分:1)

是的,您可以重新触发Gitlab管道! 有两个选项:

  1. 使用用户界面
  2. 使用Gitlab Api

使用用户界面

  1. 在您的项目中,转到CI / CDhttps://gitlab.com/{user/organization}/{project}/pipelines
  2. 然后单击绿色按钮Run Pipeline
  3. 选择您提出合并请求的分支。
  4. 点击Create Pipeline按钮。

这将创建并运行gitlab管道。

使用API​​

  1. 确保您有token可以使用Gitlab API的内容。
  2. 拨打 POST 呼叫gitlab.com/projects/:id/trigger/pipeline
    1. 您可以运行curl命令来执行此操作
    2. curl -X POST -F token=TOKEN -F ref=BRANCHNAME https://gitlab.com/api/v4/projects/7471909/trigger/pipeline
      
    
    

如果您想在Jenkins中触发build manually,还可以结合使用api和参数化构建:

curl -X POST JENKINS_URL/job/JOB_NAME/build --user USER:TOKEN  --data-urlencode json='{"parameter": [{"name":"branch", "value":"master"}]}'

参数将是要建立的分支;例如合并请求的分支。