Два способа интеграции GitHub с Azure DevOps | МАРС Телеком

ПерезвонимВам

Попробовать бесплатно
Нажимая ОТПРАВИТЬ я соглашаюсь с обработкой персональных данных
Вы также можете связаться с нашими специалистами по телефону 8 800 333-65-40 (звонок бесплатный по всей территории России).
аватарка
MARS Connector

Программа служит для подключения к услуге «Аренда виртуального сервера» и «Аренда 1С».

СКАЧАТЬ

Два способа интеграции GitHub с Azure DevOps


Теперь, когда Microsoft владеет GitHub, перед Вами стоит выбор, какой сервис GitHub или Azure DevOps будут использовать Ваши программисты для своих проектов программного обеспечения. Почему не использовать оба сервиса?

Запросить демо
Листайте ниже

Теперь, когда Microsoft владеет GitHub, перед Вами стоит выбор, какой сервис GitHub или Azure DevOps будут использовать Ваши программисты для своих проектов программного обеспечения. Почему не использовать оба сервиса?

Ваша компания практикует DevOps? Если да, то используют ли они сервис Microsoft Azure DevOps Services, облачную платформу для разработки программного обеспечения? Или, как вариант, ваши команды используют сервис GitHub?

Если честно, сервис Microsoft DevOps кажется более запутанным. За последние несколько лет у продуктов этого сервиса было очень много названий:

  • Visual Studio Team Services;
  • Visual Studio Online;
  • Предварительная версия службы Team Foundation.

Также есть локальный локальный продукт, который в настоящее время известен как Azure DevOps Server, но когда-то назывался Team Foundation Server (TFS) и Visual Studio Team System.

Добавьте к этому ещё путаницу с приобретением компанией Microsoft сервиса GitHub в июне 2018 года. Конечно у разработчиков DevOps возникает естественный вопрос: «Собирается ли Microsoft отказаться от Azure DevOps в пользу GitHub?»

На сколько стало известно от представителей Microsoft, планируется поддержка обоих сервисов, однако любые инновации будут сначала внедряться на GitHub. Как бы то ни было, у GitHub и Azure DevOps есть свои сильные и слабые стороны. Как только Вы начинаете изучать эти сервисы, находите множество возможностей для интеграции. В сегодняшней статье я расскажу о двух из них. Давайте начнём!

Интегрируйте GitHub с Azure Repos

Первым делом, давайте узнаем, как перевести существующий публичный или частный репозиторий GitHub в Azure Repos.

Предположим, что мы не хотим постоянного соединения между нашим «старым» репозиторием GitHub и нашим «новым» репозиторием Azure Repos. Чтобы настроить эту интеграцию, Вам необходимо выполнить следующие предварительные требования:

  • Аккаунт GitHub;
  • Подписка Microsoft Azure;
  • Организация и проект Azure DevOps;
  • Подключение сервиса к Microsoft Azure.

Из репозитория Azure в пустом проекте мы можем либо клонировать (скопировать) репозиторий GitHub в репозиторий Azure, либо выполнить импорт. Мы выбрали бы клонирование, если бы хотели отправить коммиты кода Azure Repos на GitHub, но для наших целей мы сделаем импорт.

Я покажу выполненные шаги на следующем снимке экрана.

В этой статье мы используем один из примеров с репозитория GitHub (приложение-калькулятор написанное на Node.js). Вы можете использовать любое другой публичный или частный репозиторий GitHub.

Заходим в раздел меню Repos -> Files (1), нажимаем на кнопку «Import» (2), в открывшейся форме вставляем ссылку на репозиторий GitHub (3) и нажимаем на кнопку «Import».

Теперь, когда копия репозитория GitHub находится в Azure Repos, вы можете предоставить URL-адрес клона членам вашей группы, чтобы они могли работать с базой кода локально. Я покажу вам этот процесс на следующем снимке экрана.

Заходим в раздел Repos -> Files (1), нажимаем на кнопку с 3-мя точками на против названия проекта (2), выбираем пункт Clone (3) и копируем ссылку на репозиторий (4).

Интегрируйте GitHub с Azure Pipelines

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

Например, мы можем хранить не только исходный код нашего приложения в нашем репозитории Azure Repos, но и сопутствующую инфраструктуру Azure (в форме шаблонов JSON Azure Resource Manager) и даже файл YAML конвейера.

В следующем примере мы подключим приложение калькулятора к нашей учетной записи GitHub, а затем настроим конвейер сборки непрерывной интеграции (CI) в Azure DevOps.

Идея состоит в том, что каждый раз, когда вы или ваш коллега делаете фиксацию в основной ветке в вашей вилке GitHub, Azure Pipelines будет запускать автоматизированный процесс сборки для приложения. Затем вы можете использовать Azure Pipelines для создания конвейера непрерывного развертывания (CD), чтобы разместить приложение в реальной работающей инфраструктуре.

На следующем составном снимке экрана вы можете увидеть, как мы подключаем образец приложения калькулятора GitHub к моей собственной учетной записи GitHub. Преимущество разветвления заключается в том, что у нас может не быть доступа участников к исходному репозиторию. Разветвляясь, мы можем вносить изменения и, при желании, отправлять эти изменения в вышестоящий репозиторий для возможного слияния. GitHub называет этот процесс запроса слияния/проверки/утверждения запросом на перенос.

Наша следующая задача - установить инструмент Azure Pipelines из GitHub Marketplace. Вам нужно будет пройти несколько экранов согласия OAuth2 и войти в свою организацию и проект Azure DevOps с соответствующими учетными данными.

После связывания инструмента GitHub Azure Pipelines с целевым проектом Azure DevOps вы получите определение сборки YAML Azure Pipelines, которое запускается при фиксации кода на основе репозитория GitHub. Вот пример:

  • A: Azure DevOps хранит ваши конвейеры сборки и выпуска в разделе «Pipelines -> Pipelines».
  • B: Обратите внимание, что в этом примере и YAML конвейера, и исходный код нашего приложения находятся на GitHub. Конечно, вы можете создавать Azure Pipelines на основе кода в Azure Repos.
  • C: Здесь мы указываем, какая ветвь связана с запуском процесса автоматической сборки.
  • D: Azure DevOps запускает размещенные виртуальные машины для выполнения вашего конвейера CI. Одно из ценностных предложений Azure DevOps заключается в том, что вам не нужно размещать собственные серверы сборки локально.
  • E, F: этот простой конвейер сначала устанавливает Node.js и все зависимости для конкретного приложения. Конечно, у вас будут разные шаги в зависимости от технологического стека вашего приложения.

На следующем снимке экрана вы можете увидеть, как мы отслеживаем свой процесс сборки Azure Pipelines на портале Azure DevOps.

Подведение итогов

Я знаю, что это звучит банально, но мы действительно только прикоснулись к тому, сколько возможностей интеграции GitHub-Azure DevOps существует.


https://marstel.ru/routeros

Уже уходите?Хотите, перезвоним Вам за 30 секунд?

Сейчас на линии несколько свободных специалистов и мы сможем перезвонить Вам в течение нескольких секунд.

Пользовательское соглашение Звонок для Вас бесплатный