Можем ли мы повторно запустить конвейер gitlab? - PullRequest
0 голосов
/ 24 января 2019

После создания запроса на слияние в GitLab запрос на слияние завершился неудачно, и jenkins удалил журналы невыполненных заданий из-за срока хранения, определенного в задании jenkins.Теперь я хочу повторно запустить этот конкретный запрос на слияние только с gitlab, чтобы он запустил задание на слияние в jenkins.Является ли это возможным ?Если да, то как я могу сделать то же самое?

PS Существует конвейер, определенный от Gitlab до Jenkins.Всякий раз, когда get получает запрос на слияние в gitlab, он запускает задание Jenkins Merge Request, которое объединяет конкретные изменения в главной ветви git.

1 Ответ

0 голосов
/ 24 января 2019

Да, вы можете перезапустить трубопроводы Gitlab! Доступны два варианта:

  1. Используйте пользовательский интерфейс
  2. Используйте Gitlab Api

Использование пользовательского интерфейса

  1. В вашем проекте перейдите на CI / CD: https://gitlab.com/{user/organization}/{project}/pipelines
  2. Затем нажмите зеленую кнопку Run Pipeline
  3. Выберите ветку, для которой вы сделали запрос на слияние.
  4. Нажмите кнопку Create Pipeline.

Это создаст и запустит конвейер gitlab.

Использование API

  1. Убедитесь, что у вас есть токен , который может использовать 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, вы также можете использовать API в сочетании с параметризованной сборкой:

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

Параметр будет ветвью для построения; например, ветка для вашего запроса на слияние.

...