Добавление и настройка каталога из GitHub или Azure Repos

В этой статье объясняется, как добавить и настроить каталог для центра разработки или проекта сред развертывания Azure.

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

Для дальнейшего защиты шаблонов каталог шифруется; Среды развертывания Azure поддерживают шифрование неактивных данных с помощью ключей шифрования, управляемых платформой, которым управляет Microsoft for Azure Services.

  • Сведения о том, как разместить репозиторий в GitHub, см. в статье "Начало работы с GitHub".
  • Сведения о размещении репозитория Git в проекте Azure Repos см. в статье Azure Repos.

Корпорация Майкрософт предлагает каталог быстрого запуска, который можно добавить в центр разработки или проект, а также пример каталога, который можно использовать в качестве репозитория. Вы также можете использовать собственный частный репозиторий или вилку и настроить определения среды в образце каталога.

Вы узнаете, как выполнять следующие задачи:

  1. Настройка каталогов на уровне проекта
  2. Настройка управляемого удостоверения
  3. Добавление каталога из Azure Repos или GitHub
  4. Обновление каталога
  5. Удаление каталога
  6. Устранение ошибок синхронизации каталога

Настройка каталогов на уровне проекта

Присоединение каталогов на уровне проекта позволяет инженерам платформы предоставлять проверенные определения среды, относящиеся к командам разработчиков. Кроме того, она позволяет команде разработчиков назначаться администраторам проектов для управления определениями среды, доступными для своих команд.

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

По умолчанию использование каталогов на уровне проекта отключено, и ни один из типов элементов каталога не включен. Определения среды из каталога уровня проекта синхронизируются и используются в двух условиях. Сначала необходимо включить каталоги на основе проектов на соответствующем уровне центра разработки. Во-вторых, необходимо включить использование определений среды для проекта.

Добавление каталога в проект

Чтобы добавить каталог в проект, необходимо включить каталоги уровня проекта на уровне центра разработки. Кроме того, следует включить использование определений среды на уровне проекта.

Чтобы включить использование каталогов уровня проекта на уровне центра разработки, выполните следующие действия.

  1. В портал Azure перейдите в центр разработки.

  2. В меню слева в разделе Параметры выберите Конфигурация.

    Снимок экрана: страница обзора центра разработки с выделенной конфигурацией.

  3. В области каталогов уровня проекта выберите "Включить каталоги для каждого проекта" и нажмите кнопку "Применить".

    Снимок экрана: область каталогов уровня проекта с выделенным параметром

Чтобы включить использование определений среды в проекте, выполните следующие действия.

  1. В портал Azure перейдите к проекту.

  2. В меню слева в разделе "Параметры" выберите "Каталоги".

    Снимок экрана: страница обзора проекта с выделенными каталогами.

  3. На странице "Каталоги" выберите разрешения элемента каталога.

    Снимок экрана: область каталогов с выделенными разрешениями элемента каталога.

  4. В области параметров элемента каталога выберите определения среды развертывания Azure, чтобы включить использование определений среды на уровне проекта.

    Снимок экрана: область параметров элемента каталога с выбранными определениями среды развертывания Azure.

Теперь вы можете добавить каталог в проект.

Для каталогов, использующих управляемое удостоверение или личный маркер доступа (PAT), необходимо назначить управляемое удостоверение для проекта. Для каталогов, использующих PAT, необходимо сохранить PAT в хранилище ключей и предоставить управляемому удостоверению доступ к секрету хранилища ключей.

Настройка управляемого удостоверения

Перед присоединением каталога к центру разработки или проекту необходимо настроить управляемое удостоверение, также называемое управляемым удостоверением службы (MSI). Вы можете присоединить управляемое удостоверение, назначаемое системой (НАзначаемое системой MSI), или управляемое удостоверение, назначаемое пользователем (MSI, назначаемое пользователем). Затем вы назначаете роли управляемому удостоверению, чтобы центр разработки или проект могли создавать типы сред в подписке и читать проект Azure Repos, содержащий репозиторий каталога.

Если центр разработки или проект не подключен к MSI, выполните действия, описанные в разделе "Настройка управляемого удостоверения для создания и назначения ролей для управляемого удостоверения ".

Дополнительные сведения об управляемых удостоверениях см. в статье "Что такое управляемые удостоверения для ресурсов Azure"?

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

Вы можете добавить каталог из репозитория Azure Repos или репозитория GitHub. Вы можете выполнить проверку подлинности, назначив разрешения MSI или используя PAT, который хранится в хранилище ключей.

Выберите вкладку для типа репозитория и проверки подлинности, которую вы хотите использовать.

Чтобы добавить каталог, выполните следующие задачи:

  • Назначьте разрешения в Azure Repos для управляемого удостоверения.
  • Добавьте репозиторий в качестве каталога.

Назначение разрешений в Azure Repos для управляемого удостоверения

Необходимо предоставить разрешения управляемого удостоверения репозиторию в Azure Repos.

  1. Войдите в организацию Azure DevOps.

    Примечание.

    Ваша организация Azure DevOps должна находиться в том же каталоге, что и подписка Azure, содержащая центр разработки или проект.

  2. Выберите Параметры организации.

    Снимок экрана: страница организации Azure DevOps с выделенными параметрами организации.

  3. На странице "Обзор" выберите "Пользователи".

    Снимок экрана: страница обзора организации с выделенной вкладкой

  4. На странице "Пользователи" выберите "Добавить пользователей".

    Снимок экрана: страница

  5. Завершите добавление новых пользователей , введя или выбрав следующие сведения, а затем нажмите кнопку "Добавить".

    Имя. Значение
    Пользователи или субъекты-службы Введите имя центра разработки или проекта.
    При использовании назначаемого системой MSI укажите имя центра разработки или проекта, а не идентификатор объекта управляемой учетной записи. При использовании назначаемого пользователем MSI используйте имя управляемой учетной записи.
    Уровень доступа Выберите Базовый.
    Добавление в проекты Выберите проект, содержащий репозиторий.
    Группы Azure DevOps Выберите "Читатели проектов".
    Отправка приглашений по электронной почте (только пользователям) Снимите флажок.

    Снимок экрана: добавление пользователей с выделенными примерами записей и добавлением.

Добавление репозитория в качестве каталога

Среды развертывания Azure поддерживают присоединение репозиториев Azure Repos и репозиториев GitHub. Вы можете хранить набор курированных шаблонов IaC в репозитории. Присоединение репозитория к центру разработки или проекту в качестве каталога предоставляет группам разработчиков доступ к шаблонам и позволяет быстро создавать согласованные среды.

Ниже описано, как подключить репозиторий Azure Repos.

  1. В портал Azure перейдите в центр разработки или проект.

  2. В меню слева в разделе "Конфигурация среды" выберите "Каталоги" и нажмите кнопку "Добавить".

    Снимок экрана: область каталогов.

  3. В каталоге "Добавить" введите следующие сведения и нажмите кнопку "Добавить".

    Поле Значение
    Имя Введите имя каталога.
    Расположение каталога Выберите Azure DevOps.
    Тип проверки подлинности Выберите управляемое удостоверение.
    Предприятие Выберите свою организацию Azure DevOps.
    Проект В списке проектов выберите проект, в который хранится репозиторий.
    Репо В списке репозиториев выберите репозиторий, который вы хотите добавить.
    Ветвь Выберите ветвь.
    Путь к папке Dev Box извлекает список папок в ветви. Выберите папку, в которой хранятся шаблоны IaC.

    Снимок экрана: панель

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

Просмотр синхронизированных элементов каталога

Независимо от типа используемого репозитория можно просмотреть элементы каталога, синхронизированные из каталога.

  1. В меню слева для центра разработки или проекта в разделе "Конфигурация среды" выберите "Каталоги".

  2. В области "Каталоги" выберите имя каталога.

    Снимок экрана: область каталога с выделенным именем присоединенного каталога.

  3. Отображается список успешно синхронизированных элементов каталога.

    Снимок экрана: элементы каталога успешно синхронизированы из присоединенного каталога.

Обновление каталога

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

Синхронизация каталога вручную

Когда вы вручную синхронизируете каталог, среды развертывания сканируются через репозиторий и делают последний список определений среды доступными для всех связанных проектов в центре разработки.

  1. В меню слева для центра разработки в разделе "Конфигурация среды" выберите "Каталоги".

  2. Выберите определенный каталог, а затем на панели команд нажмите кнопку "Синхронизация".

    Снимок экрана: кнопка

Автоматическая синхронизация каталога

При автоматической синхронизации каталога среды развертывания сканирует репозиторий каждые 30 минут и делает последний список определений среды доступным для всех связанных проектов в центре разработки.

  1. В меню слева для центра разработки или проекта в разделе "Конфигурация среды" выберите "Каталоги".

  2. Выберите конкретный каталог и выберите команду "Изменить".

    Снимок экрана: кнопка редактирования каталога.

  3. В области "Изменить каталог" выберите "Автоматически синхронизировать этот каталог" и нажмите кнопку "Сохранить".

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

Удаление каталога

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

Удаление каталога:

  1. В меню слева для центра разработки или проекта в разделе "Конфигурация среды" выберите "Каталоги".

  2. Выберите конкретный каталог и нажмите кнопку "Удалить".

  3. В диалоговом окне "Удалить каталог" нажмите кнопку "Продолжить", чтобы удалить каталог.

Устранение ошибок синхронизации каталога

При добавлении или синхронизации каталога может возникнуть ошибка синхронизации или предупреждение. Ошибка синхронизации указывает, что каталог не удалось синхронизировать успешно, предупреждение синхронизации указывает, что некоторые или все элементы каталога имеют ошибки. Вы можете просмотреть состояние синхронизации и ошибки в портал Azure или использовать Azure CLI и REST API для устранения неполадок и устранения ошибок.

Просмотр состояния синхронизации каталога

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

Просмотр сбоев синхронизации каталога

  1. В меню слева для центра разработки или проекта в разделе "Конфигурация среды" выберите "Каталоги".

  2. В столбце "Состояние " выберите ссылку состояния каталога, который не удалось синхронизировать.

    Снимок экрана: область каталогов с выделенным сбоем синхронизации.

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

    Снимок экрана: панель сбоев синхронизации каталога.

Просмотр предупреждений синхронизации каталога

  1. В меню слева для центра разработки или проекта в разделе "Конфигурация среды" выберите "Каталоги".

  2. В столбце "Состояние " выберите ссылку состояния для каталога, который синхронизирован, но сообщает предупреждение.

    Снимок экрана: область каталогов с выделенными ошибками в 3 элементах.

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

    Снимок экрана: область ошибок синхронизации каталога.

  4. Вы можете просматривать элементы, которые успешно синхронизированы из каталога, который также сообщает об ошибках синхронизации. В области "Каталоги" выберите имя каталога.

    Снимок экрана: область каталога с выделенным именем каталога.

  5. Отображается список успешно синхронизированных элементов каталога.

    Снимок экрана: элементы каталога успешно синхронизированы.

Устранение ошибок синхронизации каталога с помощью Azure CLI

Используйте Azure CLI или REST API для ПОЛУЧЕНИЯ каталога. Ответ GET показывает тип ошибки:

  • Пропущенные определения среды, обнаруженные для повторяющихся.
  • Недопустимые определения среды, которые не удалось выполнить из-за ошибок схемы, ссылки или проверки.

Устранение ошибок определения среды без учета

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

Устранение ошибок определения недопустимой среды

Недопустимая ошибка определения среды может возникать по различным причинам:

  • Ошибки схемы манифеста. Убедитесь, что файл среды определения среды среды соответствует требуемой схеме.

  • Ошибки проверки. Проверьте следующие элементы, чтобы устранить ошибки проверки:

    • Убедитесь, что тип ядра файла среды настроен правильно.
    • Убедитесь, что имя определения среды составляет от 3 до 63 символов.
    • Убедитесь, что имя определения среды содержит только символы, допустимые для URL-адреса, которые являются буквенно-цифровыми символами и этими символами: ~ ! , . ' ; : = - _ + ( ) * & $ @
  • Ссылки на ошибки. Убедитесь, что путь к шаблону, на который ссылается файл среды, является допустимым относительным путем к файлу в репозитории.