Конвейер CD CI - триггеры управления без источника - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь выяснить, как запустить конвейер CD CI из-за неуправляемого триггера управления. Мой план состоит в том, чтобы использовать веб-форму Google, чтобы собрать все переменные, необходимые в моих сценариях, и сделать процесс адаптации достаточно простым для технического персонала. Используя редактор сценариев API Google Forms, я беру ответ на отправку JSON и выполняю Put в корзину / объект s3.

Я хотел бы, чтобы PUT (операция записи) запускал конвейер CD CI ,

Инструмент CI CD не важен, так как кажется, что все инструменты CI CD могут использовать только исходящие веб-хуки для того, чтобы pu sh к чему-то, например, Slack Channel, а не ingest , как API или POST / PUT / Event.

Мой вопрос: Можно ли запустить конвейер, используя PUT или POST? В идеале я бы хотел использовать такие инструменты, как Gitlab CI или даже Jenkins, если это открывает больше возможностей.

Я много читал, и мне трудно найти решение. Я бы подумал, что это то, что люди часто используют, а не просто коммит или слияние с веткой управления источником ...

Из того, что я получил, конечные точки API инструментов CI могут обрабатывать только триггер управления источником.

Пожалуйста, если у кого-то есть какие-либо сведения о том, как этого добиться. Я готов выяснить, как создать API, если это как-то поможет.

Я хотел бы сосредоточиться на AWS атм, но целью было бы также использовать это решение или его эквивалент в Azure

Ответы [ 2 ]

1 голос
/ 05 апреля 2020

В настройках работы выделите раздел «Построить триггеры» и найдите флажок «Удаленная сборка триггеров (например, из сценариев)». Вам необходимо предоставить токен (так что только люди, которые знают токен, могут запускать вашу работу). После этого вы можете запустить конвейер, используя curl:

curl 'myjenkins.mycompany.net/job/MyJobName/build?token=myverysecrettoken&cause=Cause+I+Decided+So'

curl 'myjenkins.mycompany.net/job/MyJobName/buildWithParameters?PARAM1=string1&PARAM2=string2&token=myverysecrettoken'

См. Также Generi c Плагин запуска Webhook для примеров.

0 голосов
/ 06 апреля 2020

Для новичков в конвейерах, подобных мне, и для поиска аналогичных указаний с помощью Gitlab CI: Для запуска конвейера можно сделать такой же запрос скручивания.

Однако для моего конкретного c вопроса я хотел запустить конвейер, отправив POST в API Gitlab CI напрямую, используя конечную точку HTTPS. Команда Curl не соответствовала моим потребностям

Для этого вы можете использовать Gitlab CI Webhook для других проектов: Просто введите Ref (название ветви) и идентификатор проекта Gitlab

Пример:

https://gitlab.com/api/v4/projects/19577683/ref/master/trigger/pipeline?token=4785b192773907c280845066093s93

Чтобы использовать команду curl, нажмите API запуска Gitlab Projects, аналогично Jenkins: Просто укажите Tigger Token вы создаете в разделе Project / CI CD / Trigger в Gitlab и указываете Ref, который является именем ветви, или тег

Пример:

curl -X POST \
     -F token=4785b192773907c280845066093s93 \
     -F ref=master \
     https://gitlab.com/api/v4/projects/19577683/trigger/pipeline
...