Администратор или разработчик vRealize Automation Code Stream может использовать триггер Git для интеграции vRealize Automation Code Stream с процессами жизненного цикла Git. При изменении кода в GitHub, GitLab или Bitbucket Enterprise событие обменивается данными с vRealize Automation Code Stream через веб-перехватчик и запускает конвейер.

При добавлении веб-перехватчика для Git в vRealize Automation Code Stream также создается веб-перехватчик в репозитории GitHub, GitLab или Bitbucket. При последующем обновлении или удалении веб-перехватчика также обновляется или удаляется веб-перехватчик в GitHub, GitLab или Bitbucket.

В определении веб-перехватчика должна быть указана конечная точка Git в ветви репозитория, который вам необходимо отслеживать. В vRealize Automation Code Stream для создания веб-перехватчика используется конечная точка Git. Если конечная точка не существует, ее можно создать при добавлении веб-перехватчика. В этом примере предполагается, что в GitHub есть предварительно заданная конечная точка Git.

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

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

  • Проверьте, являетесь ли вы участником проекта в vRealize Automation Code Stream. Если нет, попросите администратора vRealize Automation Code Stream добавить вас в проект в качестве участника. См. раздел Добавление проекта в vRealize Automation Code Stream.
  • Убедитесь, что существует конечная точка Git в ветви GitHub, которую необходимо отслеживать. См. раздел Интеграция Git со службой vRealize Automation Code Stream.
  • Убедитесь в наличии прав на создание веб-перехватчика в репозитории Git.
  • При настройке веб-перехватчика в GitLab измените параметры сети по умолчанию в GitLab Enterprise, чтобы включить исходящие запросы и разрешить создание локальных веб-перехватчиков.
    Примечание: Это изменение требуется только для GitLab Enterprise. Эти параметры не применяются к GitHub или Bitbucket.
    1. Войдите в экземпляр GitLab Enterprise как администратор.
    2. Перейдите к настройкам сети, используя URL-адрес, например, http://{gitlab-server}/admin/application_settings/network.
    3. Разверните раздел Исходящие запросы и выберите:
      • разрешить запросы к локальной сети от веб-перехватчиков и служб;
      • разрешить запросы к локальной сети от системного перехватчика.
  • Относительно конвейеров, которые требуется запустить: убедитесь, что настроены входные свойства для вставки параметров Git во время работы конвейера.

    Входные параметры Git в конвейере

    Дополнительные сведения о входных параметрах см. в разделе Планирование собственной сборки по модели непрерывной интеграции и предоставления в vRealize Automation Code Stream перед добавлением задач вручную.

Процедура

  1. В vRealize Automation Code Stream выберите Триггеры > Git.
  2. Перейдите на вкладку Веб-перехватчики для Git , а затем щелкните Создать веб-перехватчик для Git .
    1. а. Выберите проект.
    2. б. Введите понятное имя и описание для веб-перехватчика.
    3. в. Выберите конечную точку Git, настроенную для ветви, которую требуется отслеживать.
      При создании веб-перехватчика его определение включает в себя сведения о текущей конечной точке.
      • Если тип Git, тип сервера Git или URL-адрес репозитория Git в конечной точке позже будут изменены, веб-перехватчик не сможет запустить конвейер, так как будет пытаться получить доступ к репозиторию Git, используя сведения исходной конечной точки. Необходимо удалить веб-перехватчик и снова создать его, указав конечную точку.
      • Если позднее в конечной точке будет изменен тип проверки подлинности, имя пользователя или пароль, веб-перехватчик продолжит работать.
      См. раздел Интеграция Git со службой vRealize Automation Code Stream.
    4. г.(Необязательно) Укажите ветвь, которую требуется отслеживать с помощью веб-перехватчика.
      Если этот параметр не задан, веб-перехватчик отслеживает ветвь, настроенную для конечной точки Git.
    5. д.(Необязательно) Создайте секретный маркер для веб-перехватчика.
      Если используется vRealize Automation Code Stream, он создает случайный строковый маркер для веб-перехватчика. Затем, когда веб-перехватчик получает данные о событии Git, он отправляет эти данные с секретным маркером. vRealize Automation Code Stream использует информацию, чтобы определить, поступают ли вызовы из предполагаемого источника, например из настроенного экземпляра GitHub, репозитория и ветви. Секретный маркер обеспечивает дополнительный уровень безопасности, который позволяет убедиться, что данные о событии Git поступают из верного источника.
    6. е.(Необязательно) В качестве условий триггера укажите условия включения или исключения файлов.
      • Включения файлов следует указать для того, чтобы в случае совпадения любого файла в сохраняемой партии с файлами, указанными в путях включения или в регулярном выражении, выполнялся запуск конвейеров. Если задано регулярное выражение, vRealize Automation Code Stream запускает только конвейеры с именами файлов в наборе изменений, которые совпадают с заданным выражением. Фильтр регулярных выражений полезен при настройке триггера для нескольких конвейеров в одном репозитории.
      • Исключения файлов следует указать для того, чтобы в случае совпадения всех файлов в сохраняемой партии с файлами, указанными в путях исключения или в регулярном выражении, запуск конвейеров не выполнялся.
      • Если функция «Установление приоритета для исключения» включена, конвейеры не будут запускаться даже в том случае, если какой-либо из файлов во время сохранения будет соответствовать файлам, указанным в путях исключения или регулярном выражении. Значение по умолчанию — «Выкл.»
      Если выполняются условия как для включения, так и для исключения, конвейеры не будут запускаться.

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

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

      • Включение файлов: при отправке кода с любым изменением в runtime/src/main/a.java или любом файле Java будут запускаться конвейеры, настроенные в конфигурации событий.
      • Для исключений файлов: при отправке кода с изменениями только в обоих файлах конвейеры, настроенные в конфигурациях событий, не будут запускаться.
    7. ё. Для события Git выберите запрос Отправить или Получить.
    8. ж. Введите маркер API-интерфейса.
      Маркер API-интерфейса CSP выполняет проверку подлинности для внешних соединений API-интерфейса с vRealize Automation Code Stream. Чтобы получить маркер API-интерфейса, выполните следующие действия.
      1. Выберите Создать маркер.
      2. Введите адрес электронной почты, связанный с именем пользователя и паролем, а затем нажмите Создать.
        Созданный маркер действителен в течение шести месяцев. Он также называется маркером обновления.
        • Чтобы сохранить маркер в виде переменной для использования в будущем, щелкните Создать переменную, введите имя переменной и нажмите кнопку Сохранить.
        • Чтобы сохранить маркер как текстовое значение для использования в будущем, нажмите кнопку Копировать и вставьте маркер в текстовый файл для сохранения в локальной системе.
        Можно создать переменную и одновременно сохранить маркер в текстовом файле для дальнейшего использования.
      3. Нажмите кнопку Закрыть.
    9. з. Выберите конвейер, который должен запускаться веб-перехватчиком.
      Если конфигурация конвейера включает в себя настраиваемые входные параметры, в списке «Входные параметры» отображаются параметры и значения. Можно ввести значения для входных параметров, которые будут переданы в конвейер с событием триггера. Кроме того, можно оставить значения пустыми или использовать значения по умолчанию, если они заданы.

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

    10. и. Щелкните Создать.
      Веб-перехватчик отобразится в виде новой карточки.
  3. Щелкните карточку веб-перехватчика.
    Когда форма данных веб-перехватчика появится снова, в верхней ее части будет отображаться добавленный URL-адрес веб-перехватчика. Веб-перехватчик Git подключается к репозиторию GitHub с помощью URL-адреса веб-перехватчика.

    Веб-перехватчик для Git

  4. В новом окне браузера откройте репозиторий GitHub, подключенный с помощью веб-перехватчика.
    1. а. Для отображения веб-перехватчика, добавленного в vRealize Automation Code Stream, перейдите на вкладку Параметры и выберите Веб-перехватчики.
      В нижней части списка веб-перехватчиков появится тот же самый URL-адрес веб-перехватчика.

      Список веб-перехватчиков в GitHub

    2. б. Чтобы внести изменения в код, перейдите на вкладку Код и выберите нужный файл в нужной ветви. Сохраните внесенные изменения.
    3. в. Чтобы убедиться, что URL-адрес веб-перехватчика работает, перейдите на вкладку Настройки и снова выберите Веб-перехватчики.
      В нижней части списка веб-перехватчиков рядом с URL-адресом веб-перехватчика появится зеленая галочка. Веб-перехватчик в GitHub с зеленой галочкой
  5. Чтобы просмотреть действие, инициируемое веб-перехватчиком Git, вернитесь в vRealize Automation Code Stream. Щелкните Триггеры > Git > Действие.
    В разделе «Состояние выполнения» убедитесь, что конвейер запущен.

    Действие запущено для триггера Git.

  6. Щелкните Выполняемые элементы и проследите за выполнением конвейера.
    Для наблюдения за выполнением конвейера можно нажать «Обновить».

    Выполнение конвейера, запущенного Git

Результаты

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