Администратор Automation Pipelines или разработчик может интегрировать Automation Pipelines с процессом проверки кода Gerrit на протяжении всего жизненного цикла с помощью триггера Gerrit. Событие запускает конвейер при создании набора исправлений, публикации черновиков, объединении изменений кода в проекте Gerrit или прямой отправке изменений в ветвь Git.

При добавлении триггера Gerrit нужно выбрать прослушиватель Gerrit, проект Gerrit на сервере Gerrit и настроить события Gerrit. В определении прослушивателя Gerrit необходимо выбрать конечную точку Gerrit. Чтобы обновить конечную точку Gerrit после подключения прослушивателя, сначала необходимо отключить прослушиватель, а затем обновить конечную точку.

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

Необходимые условия

Процедура

  1. В Automation Pipelines щелкните Триггеры > Gerrit.
  2. (Необязательно) Перейдите на вкладку Прослушиватели и щелкните Создать прослушиватель.
    Примечание: Пропустите этот шаг, если прослушиватель Gerrit, который планируется использовать для триггера Gerrit, уже определен.
    1. а. Выберите проект.
    2. б. Введите имя прослушивателя Gerrit.
    3. в. Выберите конечную точку Gerrit.
    4. г. Введите маркер API-интерфейса.
      Маркер API-интерфейса VMware Cloud Services выполняет проверку аутентификации для внешних соединений API-интерфейса с Automation Pipelines. Чтобы получить маркер API-интерфейса, выполните следующие действия.
      1. Выберите Создать маркер.
      2. Введите адрес электронной почты, связанный с именем пользователя и паролем, а затем нажмите Создать.
        Созданный маркер действителен в течение шести месяцев. Он также называется маркером обновления.
        • Чтобы сохранить маркер в виде переменной для использования в будущем, щелкните Создать переменную, введите имя переменной и нажмите кнопку Сохранить.
        • Чтобы сохранить маркер как текстовое значение для использования в будущем, нажмите кнопку Копировать и вставьте маркер в текстовый файл для сохранения в локальной системе.
        Можно создать переменную и одновременно сохранить маркер в текстовом файле для дальнейшего использования.
      3. Нажмите кнопку Закрыть.
      Если была создана переменная, в маркере API-интерфейса отображается введенное имя переменной с помощью привязки в виде значка доллара. Если был скопирован маркер, в маркере API-интерфейса отображается маскированный маркер.

      Для локальных экземпляров прослушиватель триггера Gerrit использует конечную точку Gerrit и маркер API-интерфейса, который можно создать на вкладке Прослушиватели, нажав кнопку Создать маркер.

    5. д. Чтобы проверить сведения о маркере и конечной точке, щелкните Проверить.
      Срок действия маркера истекает через 90 дн.
    6. е. Щелкните Создать.
    7. ё. На карточке прослушивателя щелкните Подключить.
      Прослушиватель начинает мониторинг всех действий на сервере Gerrit и прослушивает все активированные триггеры на этом сервере. Чтобы остановить прослушивание триггера на этом сервере, данный триггер необходимо деактивировать.
      Примечание: Чтобы обновить конечную точку Gerrit, подключенную к прослушивателю, сначала необходимо отключить прослушиватель.
      • Выберите Настроить > Триггеры > Gerrit.
      • Перейдите на вкладку Прослушиватели.
      • Нажмите кнопку Отключить для прослушивателя, подключенного к конечной точке, которую необходимо обновить.
  3. Перейдите на вкладку Триггеры и щелкните Создать триггер .
  4. Выберите проект на сервере Gerrit.
  5. Введите имя.
    Имя триггера должно быть уникальным.
  6. Выберите настроенный прослушиватель Gerrit.
    Благодаря использованию прослушивателя Gerrit Automation Pipelines предоставляет список проектов Gerrit, доступных на сервере.
  7. Выберите проект на сервере Gerrit.
  8. Укажите ветвь в репозитории, которую будет отслеживать прослушиватель Gerrit.
  9. (Необязательно) В качестве условий триггера укажите условия включения или исключения файлов.
    • Укажите условия включения файлов, которые будут запускать конвейеры. В случае совпадения какого-либо из файлов в отправленной партии с файлами, указанными в путях включения или в регулярном выражении, выполняется запуск конвейеров. Если задано регулярное выражение, Automation Pipelines запускает только конвейеры с именами файлов в наборе изменений, которые совпадают с заданным выражением. Фильтр регулярных выражений полезен при настройке триггера для нескольких конвейеров в одном репозитории.
    • Чтобы предотвратить запуск конвейеров, необходимо указать исключения файлов. Если все файлы в отправленной партии совпадают с файлами, указанными в путях исключения или регулярном выражении, конвейеры не запускаются.
    • Если параметр Указание приоритета исключения включен, это гарантирует, что конвейеры не будут запускаться. Конвейеры не будут запускаться даже в том случае, если какой-либо из файлов в отправленной партии совпадает с файлами, указанными в путях исключения или регулярном выражении. По умолчанию параметр Указание приоритета исключения выключен.
    Если условия соответствуют как условию включения файла, так и условию исключения файла, конвейеры не запускаются.

    В следующем примере для триггера используются условия включения и исключения файлов.

    Условия включения и исключения файлов отображаются в виде пар PLAIN или пар REGEX со значениями.

    • Включение файлов: при отправке кода с любым изменением в runtime/src/main/a.java или любом файле Java будут запускаться конвейеры, настроенные в конфигурации событий.
    • Исключения файлов: при отправке кода с изменениями только в обоих файлах конвейеры, настроенные в конфигурации событий, не будут запускаться.
  10. Щелкните Создать конфигурацию.
    1. а. Для события Gerrit выберите тип Набор исправлений создан, Черновик опубликован или Изменение объединено. Или для прямой отправки в Git, минуя Gerrit, выберите Прямая отправка в Git.
      Примечание: Начиная с версии 2.15 выпуска Gerrit, черновики изменений и наборы черновиков изменений больше не поддерживаются. Поэтому если вы используете выпуск Gerrit версии 2.15 или более поздней, событие Опубликованный черновик не поддерживается.
    2. б. Выберите конвейер, который будет запускаться.
      Если конвейер включает в себя добавленные настраиваемые входные параметры, в списке «Входные параметры» отображаются параметры и значения. Можно ввести значения для входных параметров, которые требуется передать в конвейер с событием триггера. Кроме того, можно оставить значения пустыми или использовать значения по умолчанию.
      Примечание: Если значения по умолчанию определены:
      • Любые вводимые значения входных параметров будут переопределять значения по умолчанию, заданные в модели конвейера.
      • Значения по умолчанию в конфигурации триггера не будут изменяться, если будут изменены значения параметров в модели конвейера.

      Дополнительные сведения о настройках автоматической вставки входных параметров для триггеров Gerrit см. в разделе Предварительные условия.

    3. в. Для типов Набор исправлений создан, Черновик опубликован и Изменение объединено, некоторые действия по умолчанию появляются с метками. Можно изменить метку или добавить комментарии. При запуске конвейера метка или комментарий отображаются на вкладке Действия данного конвейера как Выполненное действие.
      Конфигурация события Gerrit позволяет вводить комментарии с помощью переменной для комментария «Успешно» или «Сбой». Например: ${var.success} и ${var.failure}.
    4. г. Нажмите Сохранить.
    Чтобы добавить несколько событий триггеров в нескольких конвейерах, снова щелкните Создать конфигурацию.
    В следующем примере показаны события для трех конвейеров:
    • Если в проекте Gerrit происходит событие Изменение объединено, запускается конвейер с именем Конвейер Gerrit.
    • Если в проекте Gerrit происходит событие Набор исправлений создан, запускаются Конвейер триггера Gerrit и Демоконвейер Gerrit.

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

  11. Щелкните Создать.
    Триггер Gerrit отображается в виде новой карточки на вкладке Триггеры, и ему по умолчанию назначается значение Отключен.
  12. На карточке триггера щелкните Включить.
    После активации триггера он может использовать прослушиватель Gerrit, который запускает мониторинг событий, происходящих в ветви проекта Gerrit.
    Чтобы создать триггер, который имеет такие же условия включения или исключения файлов, но с другим репозиторием, который отличается от репозитория, добавленного при создании триггера, на карточке триггера нажмите Действия > Клонировать. Затем в клонированном триггере нажмите Открыть и измените параметры.

Результаты

Поздравляем! Вы успешно настроили триггер Gerrit с двумя событиями в трех разных конвейерах.

Дальнейшие действия

После фиксации изменения кода в проекте Gerrit проверьте на вкладке Действие наличие события Gerrit в Automation Pipelines. Убедитесь, что список действий включает в себя записи, соответствующие каждому циклу выполнения конвейера в конфигурации триггера.

При возникновении события могут запускаться только те конвейеры в триггере Gerrit, которые относятся к конкретному типу события. В этом примере, если создан набор исправлений, будут выполняться только Конвейер триггера Gerrit и Демо-конвейер Gerrit.

Сведения в столбцах на вкладке Действие описывают каждое событие триггера Gerrit. Чтобы выбрать столбцы для отображения, щелкните значок столбца под таблицей.
  • Столбцы Изменение темы и Выполнение являются пустыми, если в качестве триггера используется «Прямая отправка в Git».
  • В столбце Триггер для Gerrit отображается триггер, создавший событие.
  • По умолчанию флажок столбца Прослушиватель снят. Если этот флажок установлен, в данном столбце отображается прослушиватель Gerrit, получивший событие. Один прослушиватель может отображаться как связанный с несколькими триггерами.
  • По умолчанию флажок столбца Тип триггера снят. Если этот флажок установлен, в столбце будет отображаться тип триггера «АВТОМАТИЧЕСКИЙ» или «ВРУЧНУЮ».
  • Другие столбцы: Время фиксации, Ном. изменения, Состояние, Сообщение, Действия, Пользователь, Проект Gerrit, Ветвь и Событие.

На вкладке Действие для триггера Gerrit отображаются все выбранные столбцы и соответствующие сведения для всех записей действий.

Для контроля успешного или неудачного цикла выполнения конвейера щелкните три точки слева от любой записи на экране «Действия».

  • Если конвейер не выполняется из-за ошибки в модели конвейера или из-за другой проблемы, исправьте соответствующую ошибку и нажмите Выполнить заново, чтобы запустить конвейер снова.
  • Если конвейер не выполняется из-за сбоя подключения к сети или из-за другой проблемы, нажмите Возобновить, чтобы перезапустить тот же цикл выполнения конвейера и сократить время выполнения.
  • Нажмите Просмотреть выполнение, чтобы открыть представление выполнения конвейера. См. раздел Запуск конвейера и просмотр результатов.
  • Для удаления записи на экране «Действия» нажмите Удалить.
Если событие Gerrit не запускает конвейер, нажмите Запуск вручную, а затем выберите триггер для Gerrit, введите «ИД изменения» и нажмите Запустить.
Примечание: Запуск вручную работает только для допустимых событий Gerrit, например Набор исправлений создан, Изменение объединено и Черновик опубликован.