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

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

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

Процедура

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

      Прослушиватель Gerrit для триггера

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

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

    Пример включений и исключений файлов

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

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

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

    Настройка прослушивателя и триггера Gerrit

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

Результаты

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

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

После фиксации изменения кода в проекте Gerrit проверьте на вкладке «Действие» наличие события Gerrit в vRealize Automation Code Stream. Убедитесь, что список действий включает в себя записи, соответствующие каждому циклу выполнения конвейера, настроенному в триггере. При возникновении события будут запускаться только те конвейеры триггера Gerrit, которые относятся к данному типу события. В этом примере, если создан набор исправлений, будут выполняться только Конвейер триггера Gerrit и Демо-конвейер Gerrit.

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

Действие триггера Gerrit

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