Система управления версиями службы автоматизации Azure с GitHub: руководство

Опубликовано: 1 Марта, 2023
Система управления версиями службы автоматизации Azure с GitHub: руководство

Автоматизация Azure позволяет использовать систему управления версиями, и администратор облака может выбирать между GitHub, принадлежащим Microsoft, репозиториями Azure, использующими Git или Team Foundation Version Control (TFVC).

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

В этой статье мы собираемся интегрировать три компонента: автоматизацию Azure, GitHub и код Visual Studio (VSCode), чтобы продемонстрировать, как мы можем управлять кодом в лучшем, но все же удобном для управления формате. На приведенной ниже диаграмме мы видим, что поток связи между локальной средой (рабочей станцией) и GitHub является двунаправленным, и любые изменения, выполненные в GitHub, реплицируются в службу автоматизации Azure в одностороннем направлении.

Управление вашим GitHub

Я предполагаю, что у вас уже есть учетная запись, созданная в GitHub. Если нет, вы можете зарегистрироваться, прежде чем продолжить этот раздел.

Первый шаг — создать новый репозиторий. Войдите в GitHub, нажмите на свою фотографию в правом верхнем углу и нажмите «Ваши репозитории». Нажмите кнопку «Создать» и на новой странице укажите (рекомендую использовать имя учетной записи службы автоматизации, которую вы уже подготовили в Azure), и укажите, будет ли она общедоступной или частной. По завершении нажмите «Создать репозиторий».

Последний шаг — получить URL-адрес этого репозитория. На новой странице нажмите кнопку «Клонировать» или «Загрузить» и в новом диалоговом окне скопируйте URL-адрес. Мы собираемся использовать эту информацию при клонировании репозитория в нашем .

Настройка рабочей станции для использования GitHub

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

Мы собираемся создать папку для хранения всех сценариев, связанных с автоматизацией Azure, которые мы планируем использовать . Давайте начнем с простого и создадим начальную структуру со всеми нашими будущими учетными записями автоматизации в папке C:DevOps.

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

В коде Visual Studio щелкните элемент управления версиями (значок) и щелкните + (добавить). появится вверху в центре экрана, выберите папку, над которой мы сейчас работаем.

Мы начнем процесс клонирования, нажав F1, затем введите git clone и выберите его из списка. запросит URL-адрес (у нас он уже есть в предыдущем разделе, вставьте его) и нажмите Enter. Появится новое диалоговое окно, и нам нужно выбрать папку, в которую будут помещены клонированные файлы, в нашем случае папку C:DevOpssvc-azdev-automation. Нажмите «Выбрать расположение репозитория», когда закончите. В области уведомлений Visual Studio Code появится небольшое информационное всплывающее окно. Нажмите Открыть.

Появится окно . Укажите свои учетные данные и дождитесь завершения клонирования на вашем компьютере. Изображение 279

Теперь, когда мы клонировали репозиторий GitHub, пришло время внести некоторые локальные изменения и посмотреть, как это повлияет на среду. В Visual Studio Code нажмите «Файл», а затем «Новый файл». Напишите какой-нибудь контент и сохраните его. (В нашем примере: EnvClone.ps1.)

Вы заметите, что на значке есть индикатор, сообщающий, сколько изменений у нас есть локально. Чтобы зафиксировать эти изменения локально, щелкните значок системы управления версиями, затем и нажмите «Зафиксировать все». запросит сообщение фиксации. Введите что-нибудь осмысленное и нажмите Enter.

Как только мы фиксируем изменения локально, у нас появляется индикатор, расположенный в левом нижнем углу окна (вторая позиция слева направо), который помогает понять, сколько изменений у нас локально и удаленно для синхронизации. Нажмите на эту область. Новое диалоговое окно с надписью «Это действие будет отправлять и извлекать коммиты в «источник/мастер» и из него». Нажмите или .

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

Результатом этой операции станет новый файл в репозитории GitHub, как мы видим на изображении ниже.

Когда файл создается или изменяется в GitHub, как только мы синхронизируемся в коде Visual Studio, изменения будут автоматически обновлены в вашем локальном git.

Подключение службы автоматизации Azure к GitHub

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

В колонке свойств учетной записи службы автоматизации нажмите «Управление версиями» (элемент 1) и нажмите «Добавить» (элемент 2). В новом блейде (пункт 3) присвойте имя, выберите GitHub в качестве . Нажмите Authenticate и укажите свои учетные данные для доступа к GitHub на новой странице. После аутентификации выберите и .

Мы также можем определить конкретную папку в репо, и если мы хотим автоматически синхронизировать и публиковать изменения, я бы рекомендовал, по крайней мере, включить автоматическую синхронизацию. Нажмите «Сохранить», чтобы создать подключение.

Примечание. Мы всегда можем щелкнуть существующие подключения и нажать «Начать синхронизацию», чтобы запустить синхронизацию вручную.

После того, как соединение установлено, мы всегда можем проверить вкладку «Синхронизация заданий», и будет указан список всех выполненных синхронизаций. Мы можем щелкнуть любое заданное задание синхронизации и просмотреть дополнительные журналы и информацию об этом конкретном запуске.

Как только мы зафиксируем файл в GitHub, будет запущена синхронизация, и новый Runbook станет доступен в службе автоматизации Azure.

Автоматизация Azure и GitHub: заключительные моменты

При использовании системы управления версиями рекомендуется сосредоточиться на использовании GitHub в качестве центрального репозитория. Все обновления в GitHub будут автоматически переноситься в службу автоматизации Azure. Имейте в виду, что изменения, выполненные в модулях Runbook с помощью портала Azure, не будут обновлены в GitHub. Для этого требуется изменение процесса редактирования Runbook.