Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интеграция системы управления версиями в службе автоматизации Azure поддерживает однонаправленную синхронизацию из репозитория системы управления версиями. Система контроля версий позволяет поддерживать ваши рабочие книги в учетной записи службы автоматизации обновленными с помощью скриптов в репозиториях GitHub или Azure DevOps. Эта функция упрощает перенос протестированного в среде разработки кода в рабочий аккаунт автоматизации.
Интеграция системы управления версиями позволяет легко взаимодействовать с вашей командой, отслеживать изменения и возвращаться к более ранним версиям руководств по эксплуатации. Например, система управления версиями позволяет синхронизировать различные ветви в системе управления версиями с учетными записями разработки, тестирования и рабочей автоматизации.
Замечание
Задания синхронизации системы управления версиями выполняются под учетной записью службы автоматизации пользователя и выставляются по той же ставке, что и другие задания автоматизации. Кроме того, задания службы автоматизации Azure не поддерживают MFA (Многофакторная проверка подлинности).
Типы управления исходным кодом
Служба автоматизации Azure поддерживает три типа системы управления исходным кодом:
- GitHub
- Azure DevOps (Git)
- Azure DevOps (TFVC)
Предпосылки
- Репозиторий системы управления версиями (GitHub или Azure DevOps).
- Учетная запись Службы автоматизации требует назначенного системой или управляемого пользователем удостоверения. Если вы еще не настроили управляемое удостоверение с помощью учетной записи Службы автоматизации, см. раздел Включение управляемого удостоверения, назначенного системой , или Включите управляемое пользователем удостоверение , чтобы создать его.
- Назначьте пользовательское или управляемое системой удостоверение роли участника в учетной записи Службы автоматизации.
Замечание
Служба автоматизации Azure поддерживает как назначаемое системой, так и пользователем управляемое удостоверение с интеграцией с системой контроля версий. Для использования управляемого пользовательского удостоверения создайте переменную автоматизации AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID
, значением которой будет идентификатор клиента пользовательского удостоверения. Уполномоченный пользователем Managed Identity
должен быть активирован и иметь доступ участника к учетной записи автоматизации. Если эта переменная не создана, по умолчанию мы используем назначаемое системой удостоверение.
Если у вас включена учетная запись запуска от имени и управляемое удостоверение, то управляемое удостоверение имеет предпочтение.
Это важно
Учетная запись "Запуск от имени" в службе автоматизации Azure была выведена из эксплуатации 30 сентября 2023 г. Мы рекомендуем использовать Управляемые удостоверения.
Замечание
Согласно этой документации по Azure DevOps, сторонний доступ к приложениям через политику OAuth по умолчанию отключен для всех новых организаций. Поэтому если вы пытаетесь настроить систему управления версиями в службе автоматизации Azure с помощью Azure DevOps (Git) в качестве типа системы управления версиями без включения доступа к сторонним приложениям через OAuth в разделе "Политики" параметров организации в Azure DevOps, может возникнуть недопустимая ошибка SourceControl securityToken . Таким образом, чтобы избежать этой ошибки, убедитесь, что вы сначала включите доступ к сторонним приложениям через OAuth в разделе "Политики" параметров организации в Azure DevOps.
Конфигурация системы управления версиями
В этом разделе описывается настройка системы управления исходным кодом для учетной записи службы автоматизации. Вы можете использовать портал Azure или PowerShell.
Назначить управляемое удостоверение на роль участника
В этом примере используется Azure PowerShell, чтобы показать процесс назначения роли участника в подписке для ресурса учетной записи Azure Automation.
Откройте консоль PowerShell, используя более высокий уровень привилегий.
Войдите в Azure, выполнив команду
Connect-AzAccount
.Чтобы назначить управляемое удостоверение к роли Участник, выполните следующую команду.
New-AzRoleAssignment ` -ObjectId <automation-Identity-Object(Principal)-Id> ` -Scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}" ` -RoleDefinitionName "Contributor"
Настройка управления исходным кодом в портале Azure
Используйте эту процедуру для настройки управления исходным кодом на портале Azure.
В учетной записи автоматизации выберите "Удаленный контроль версий" и нажмите "Добавить".
Выберите тип системы управления версиями, а затем нажмите кнопку "Аутентификация".
Откроется окно браузера и появится запрос на вход. Следуйте инструкциям, чтобы завершить проверку подлинности.
На странице сводки системы управления версиями используйте поля для заполнения свойств системы управления версиями, определенных ниже. Нажмите кнопку "Сохранить ", когда закончите.
Недвижимость Описание Имя системы контроля исходного кода Дружелюбное имя для системы управления версиями. Это имя должно содержать только буквы и цифры. Тип системы управления версиями Тип механизма управления версиями. Доступные варианты:
* GitHub
* Azure DevOps (Git)
* Azure DevOps (TFVC)Репозиторий Имя репозитория или проекта. Извлекаются первые 200 репозиториев. Чтобы найти репозиторий, введите имя в поле и нажмите кнопку "Поиск" на сайте GitHub. Отрасль Ветвь, из которой нужно извлечь исходные файлы. Целеполагание ветви недоступно для типа управления версиями TFVC. Путь к папке Папка, содержащая runbooks для синхронизации, например, /Runbooks. Синхронизированы только модули Runbook в указанной папке. Рекурсия не поддерживается. Автоматическая синхронизация1 Параметр, который включает или отключает автоматическую синхронизацию при фиксации в репозитории или на GitHub. Публикация Модуля Runbook Параметр "Вкл.", если модули Runbook автоматически публикуются после синхронизации из системы управления версиями и отключены в противном случае. Описание Текст, указывающий дополнительные сведения о системе управления версиями. 1. Чтобы включить автоматическую синхронизацию при настройке интеграции системы управления версиями с Azure DevOps, необходимо быть администратором проекта или владельцем репозитория GitHub. Сотрудники могут настраивать только управление версиями без автоматической синхронизации.
Автоматическая синхронизация не работает с Automation Private Link. При включении Приватного канала вызовы веб-перехватчика системы управления версиями завершаются ошибкой, так как она находится за пределами сети.
Замечание
- Имя входа для репозитория системы управления версиями может отличаться от имени входа на портале Azure. Убедитесь, что вы вошли в систему с правильной учетной записью репозитория системы управления версиями при настройке системы управления версиями. Если есть сомнения, откройте новую вкладку в браузере, выйдите из dev.azure.com, visualstudio.com или github.com и попробуйте повторно подключиться к системе управления версиями.
- Межтенантная аутентификация не поддерживается.
- Автосинхронизация может не сработать, если система контроля версий была создана более года назад, так как вебхук, используемый для вызова системы контроля версий, истекает спустя год. Чтобы устранить эту проблему, создайте новую систему контроля версий в учетной записи службы автоматизации с идентичной конфигурацией, которая создаст новый веб-перехватчик с более поздней датой истечения.
Настройка системы управления версиями в PowerShell
Вы также можете использовать PowerShell для настройки системы контроля версий в службе автоматизации Azure. Чтобы использовать командлеты PowerShell для этой операции, вам потребуется личный маркер доступа (PAT). Используйте командлет New-AzAutomationSourceControl для создания подключения к управлению исходным кодом. Для этого командлета требуется безопасная строка для PAT. Чтобы узнать, как создать безопасную строку, см. статью ConvertTo-SecureString.
В следующих подразделах показано создание подключения к системе управления версиями с использованием PowerShell для GitHub, Azure DevOps (Git) и Azure DevOps (TFVC).
Создание подключения к системе контроля версий для GitHub
New-AzAutomationSourceControl -Name SCGitHub -RepoUrl https://github.com/<accountname>/<reponame>.git -SourceType GitHub -FolderPath "/MyRunbooks" -Branch main -AccessToken <secureStringofPAT> -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName>
Создание подключения к системе управления версиями для Azure DevOps (Git)
Замечание
Azure DevOps (Git) использует URL, который ведет на dev.azure.com вместо visualstudio.com, использовавшиеся в более ранних форматах. Старый формат https://<accountname>.visualstudio.com/<projectname>/_git/<repositoryname>
URL-адреса устарел, но по-прежнему поддерживается. Новый формат предпочтителен.
New-AzAutomationSourceControl -Name SCReposGit -RepoUrl https://dev.azure.com/<accountname>/<adoprojectname>/_git/<repositoryname> -SourceType VsoGit -AccessToken <secureStringofPAT> -Branch main -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName> -FolderPath "/Runbooks"
Установка подключения к системе контроля версий для Azure DevOps (TFVC)
Замечание
Azure DevOps (TFVC) использует URL-адрес, обращающийся к dev.azure.com вместо visualstudio.com, который использовался в более ранних форматах. Старый формат https://<accountname>.visualstudio.com/<projectname>/_versionControl
URL-адреса устарел, но по-прежнему поддерживается. Новый формат предпочтителен.
New-AzAutomationSourceControl -Name SCReposTFVC -RepoUrl https://dev.azure.com/<accountname>/<adoprojectname>/_git/<repositoryname> -SourceType VsoTfvc -AccessToken <secureStringofPAT> -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName> -FolderPath "/Runbooks"
Разрешения личного токена доступа (PAT)
Для управления версиями требуются некоторые минимальные разрешения для PATS. Следующие подразделы содержат минимальные разрешения, необходимые для GitHub и Azure DevOps.
Минимальные разрешения PAT для GitHub
В следующей таблице определены минимальные разрешения PAT, необходимые для GitHub. Дополнительные сведения о создании PAT в GitHub см. в статье "Создание личного маркера доступа для командной строки".
Область действия | Описание |
---|---|
repo |
|
repo:status |
Доступ к статусу фиксации |
repo_deployment |
Доступ к состоянию развертывания |
public_repo |
Доступ к общедоступным репозиториям |
repo:invite |
Доступ к приглашениям в репозиторий |
security_events |
Чтение и запись событий безопасности |
admin:repo_hook |
|
write:repo_hook |
Написание хуков репозитория |
read:repo_hook |
Чтение хуков репозитория |
Минимальные разрешения PAT для Azure DevOps
В следующем списке определены минимальные разрешения PAT, необходимые для Azure DevOps. Дополнительные сведения о создании PAT в Azure DevOps см. в статье "Проверка подлинности с помощью личных маркеров доступа".
Область действия | Тип доступа |
---|---|
Code |
Читайте |
Project and team |
Читайте |
Identity |
Читайте |
User profile |
Читайте |
Work items |
Читайте |
Service connections |
Читать, запрашивать, управлять1 |
1 Разрешение Service connections
требуется только в том случае, если вы включили автосинхронную синхронизацию.
Синхронизация с системой контроля версий
Выполните следующие действия, чтобы синхронизировать с системой контроля версий.
Выберите источник из таблицы на странице управления источниками.
Нажмите кнопку "Начать синхронизацию" , чтобы запустить процесс синхронизации.
Просмотрите состояние текущего задания синхронизации или предыдущих заданий, щелкнув вкладку "Задания синхронизации ".
В раскрывающемся меню системы управления версиями выберите механизм управления версиями.
Щелкнув задание, вы можете просмотреть выходные данные задания. В следующем примере приведены выходные данные задания синхронизации системы контроля версий.
=================================================================== Azure Automation Source Control. Supported runbooks to sync: PowerShell Workflow, PowerShell Scripts, DSC Configurations, Graphical, and Python 2. Setting AzEnvironment. Getting AzureRunAsConnection. Logging in to Azure... Source control information for syncing: [Url = https://ContosoExample.visualstudio.com/ContosoFinanceTFVCExample/_versionControl] [FolderPath = /Runbooks] Verifying url: https://ContosoExample.visualstudio.com/ContosoFinanceTFVCExample/_versionControl Connecting to VSTS... Source Control Sync Summary: 2 files synced: - ExampleRunbook1.ps1 - ExampleRunbook2.ps1 ==================================================================
Дополнительные журналы доступны, выбрав все журналы на странице сводки заданий синхронизации системы управления версиями. Эти дополнительные записи журнала могут помочь в решении проблем, которые могут возникнуть при использовании системы контроля версий.
Отключение системы управления версиями
Чтобы отключиться от репозитория системы управления версиями, выполните следующие действия.
Откройте Систему управления версиями в разделе Параметры учетной записи учетной записи службы автоматизации Azure.
Выберите механизм системы управления версиями, который требуется удалить.
На странице сводки системы управления версиями нажмите кнопку "Удалить".
Обработка проблем с кодировкой
Если в вашем репозитории системы контроля версий несколько человек редактируют рабочие процессы, используя разные редакторы, могут возникнуть проблемы с кодировкой. Дополнительные сведения об этой ситуации см. в статье "Распространенные причины проблем с кодировкой".
Обновление PAT
В настоящее время вы не можете использовать портал Azure для обновления PAT в системе контроля версий. После истечения срока действия или отзыва PAT обновите контроль версий с помощью нового маркера доступа одним из следующих способов:
- Используйте REST API.
- Используйте командлет Update-AzAutomationSourceControl .
Дальнейшие шаги
- Сведения об интеграции управления версиями Runbook с Visual Studio Codespaces см. в статье "Автоматизация Azure: интеграция управления версиями Runbook с помощью Visual Studio Codespaces".