Создание перехватчика службы для Azure DevOps с помощью Jenkins

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Если вы используете Jenkins для создания приложений, вы можете хранить код в Azure DevOps и продолжать использовать Jenkins для сборок непрерывной интеграции. Сборку Jenkins можно активировать при отправке кода в репозиторий Git проекта или при проверка в коде в элемент управления версиями Team Foundation.

Внимание

Azure DevOps больше не поддерживает проверку подлинности альтернативных учетных данных с 2 марта 2020 г. Если вы по-прежнему используете альтернативные учетные данные, мы настоятельно рекомендуем переключиться на более безопасный метод проверки подлинности (например, личные маркеры доступа). Подробнее.

Настройка Jenkins

  1. Если вы еще не сделали этого, настройте сервер Jenkins .

  2. Если вы настраиваете Jenkins в локальной среде, включите ПРОТОКОЛ HTTPS.

  3. Добавьте или измените hudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROLсистемное свойство , как отключено перед параметром -jar внутри тега <arguments> в файле конфигурации jenkins.xml .

    -Dhudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL=disabled

Настройка сборки Jenkins

  1. В Jenkins создайте новый элемент.

    Ссылка на новый элемент в Jenkins
  2. Создайте тип сборки, подходящей для проекта.

    Имя сборки и тип в Jenkins
  3. Задайте URL-адрес репозитория Git в Azure DevOps Services. URL-адрес находится в форме https://dev.azure.com/{orgName}/DefaultCollection/_git/{projectName}.

    Параметры управления исходным кодом с выбранным параметром Git

Триггер Jenkins

  1. Перейдите на страницу перехватчиков службы проекта:

    https://{orgName}/{project_name}/_settings/serviceHooks

    Снимок экрана: страница администрирования проекта, Azure DevOps Server 2019 и на ней.

    Выберите Создать подписку.

  2. Добавьте Дженкинса.

    Диалоговое окно выбора целевой службы, выбранный Jenkins
  3. Выберите событие из Azure DevOps Services, которое требуется активировать сборку Jenkins.

    Диалоговое окно
  4. Настройте действие для выполнения в Jenkins.

    Диалоговое окно

Теперь, когда это событие происходит в Azure DevOps Services, сборка Jenkins активируется.

Цены

Azure DevOps Services не взимает плату за интеграцию с внешними службами. Ознакомьтесь с сайтом конкретной службы, чтобы узнать о ценах, связанных с их службами.

Вопросы и ответы

Вопрос. Можно ли создавать часть приложения в Azure DevOps Services и участвовать в Jenkins?

Ответ. Да. Сборку Jenkins можно активировать при завершении сборки Azure DevOps Services, чтобы использовать обе системы для создания приложения.

Вопрос. Можно ли программно создавать подписки?

Ответ. Да, используйте REST API.