Использование платформы автоматизации развертывания SAP в службах Azure DevOps Services
Azure DevOps упрощает процесс развертывания, предоставляя конвейеры, которые можно запустить для развертывания инфраструктуры и действий по настройке и установке SAP.
Azure Repos можно использовать для хранения файлов конфигурации и использования Azure Pipelines для развертывания и настройки инфраструктуры и приложения SAP.
Регистрация в службах Azure DevOps Services
Чтобы использовать Azure DevOps Services, требуется организация Azure DevOps. Организация используется для подключения групп связанных проектов. Используйте рабочую или учебную учетную запись для автоматического подключения организации к идентификатору Microsoft Entra. Чтобы создать учетную запись, откройте Azure DevOps и войдите или создайте новую учетную запись.
Настройка служб Azure DevOps Services для платформы автоматизации развертывания SAP
Чтобы выполнить базовую установку Azure DevOps Services для платформы автоматизации развертывания SAP, можно использовать следующий скрипт.
Откройте среду сценариев PowerShell и скопируйте следующий скрипт и обновите параметры, соответствующие вашей среде.
$Env:SDAF_ADO_ORGANIZATION = "https://dev.azure.com/ORGANIZATIONNAME"
$Env:SDAF_ADO_PROJECT = "SAP Deployment Automation Framework"
$Env:SDAF_CONTROL_PLANE_CODE = "MGMT"
$Env:SDAF_ControlPlaneSubscriptionID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$Env:ARM_TENANT_ID="zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz"
$Env:MSI_OBJECT_ID = $null
$branchName = "main"
$UniqueIdentifier = "SDAF" + $ShortCode
if ($Env:ARM_TENANT_ID.Length -eq 0) {
az login --output none --only-show-errors --scope https://graph.microsoft.com//.default
}
else {
az login --output none --tenant $Env:ARM_TENANT_ID --only-show-errors --scope https://graph.microsoft.com//.default
}
az config set extension.use_dynamic_install=yes_without_prompt --only-show-errors
az extension add --name azure-devops --only-show-errors
$differentTenant = Read-Host "Is your Azure DevOps organization hosted in a different tenant than the one you are currently logged in to? y/n"
if ($differentTenant -eq 'y') {
$env:AZURE_DEVOPS_EXT_PAT = Read-Host "Please enter your Personal Access Token (PAT) with permissions to add new projects, manage agent pools to the Azure DevOps organization $Env:ADO_Organization"
try {
az devops project list
}
catch {
$_
}
}
$confirmationWebAppDeployment = Read-Host "Do you want to use the Web Application for editing the configuration files (recommended) y/n?"
if ($confirmationWebAppDeployment -eq 'y') {
$Env:SDAF_WEBAPP = "true"
$confirmation = Read-Host "Do you want to create a new Application registration (needed for the Web Application) y/n?"
if ($confirmation -eq 'y') {
$Env:SDAF_APP_NAME = "SDAF " + $UniqueIdentifier + " SDAF Control Plane"
}
else {
$Env:SDAF_APP_NAME = Read-Host "Please provide the Application registration name"
}
}
else {
$Env:SDAF_WEBAPP = "false"
}
$Env:SDAF_AuthenticationMethod = 'Managed Identity'
$confirmationDeployment = Read-Host "Do you want to use Managed Identities for the deployment (recommended) y/n?"
if ($confirmationDeployment -eq 'n') {
$Env:SDAF_AuthenticationMethod = 'Service Principal'
$confirmation = Read-Host "Do you want to create a new Service Principal for the Control plane y/n?"
if ($confirmation -eq 'y') {
$Env:SDAF_MGMT_SPN_NAME = "SDAF " + $UniqueIdentifier + $Env:SDAF_CONTROL_PLANE_CODE + " SPN"
}
else {
$Env:SDAF_MGMT_SPN_NAME = Read-Host "Please provide the Control Plane Service Principal Name"
}
}
if ( $PSVersionTable.Platform -eq "Unix") {
if ( Test-Path "SDAF") {
}
else {
$sdaf_path = New-Item -Path "SDAF" -Type Directory
}
}
else {
$sdaf_path = Join-Path -Path $Env:HOMEDRIVE -ChildPath "SDAF"
if ( Test-Path $sdaf_path) {
}
else {
New-Item -Path $sdaf_path -Type Directory
}
}
Set-Location -Path $sdaf_path
if ( Test-Path "New-SDAFDevopsProject.ps1") {
if ( $PSVersionTable.Platform -eq "Unix") {
Remove-Item "New-SDAFDevopsProject.ps1"
}
else {
Remove-Item ".\New-SDAFDevopsProject.ps1"
}
}
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/$branchName/deploy/scripts/New-SDAFDevopsProject.ps1 -OutFile New-SDAFDevopsProject.ps1
if ( $PSVersionTable.Platform -eq "Unix") {
Unblock-File ./New-SDAFDevopsProject.ps1
./New-SDAFDevopsProject.ps1
}
else {
Unblock-File .\New-SDAFDevopsProject.ps1
.\New-SDAFDevopsProject.ps1
}
Запустите скрипт и следуйте инструкциям. Скрипт открывает окна браузера для проверки подлинности и выполнения задач в проекте Azure DevOps.
Вы можете запустить код непосредственно из GitHub или импортировать копию кода в проект Azure DevOps.
Чтобы убедиться, что проект создан, перейдите на портал Azure DevOps и выберите проект. Убедитесь, что репозиторий заполнен и созданы конвейеры.
Важно!
Выполните следующие действия на локальной рабочей станции. Кроме того, убедитесь, что у вас установлена последняя версия Azure CLI, выполнив az upgrade
команду.
Настройка артефактов Azure DevOps Services для новой зоны рабочей нагрузки
Используйте следующий сценарий для развертывания артефактов, необходимых для поддержки новой зоны рабочей нагрузки. Этот процесс создает группу переменных и подключение службы в Azure DevOps и, при необходимости, субъект-службу развертывания.
Откройте среду сценариев PowerShell и скопируйте следующий скрипт и обновите параметры, соответствующие вашей среде.
$Env:SDAF_ADO_ORGANIZATION = "https://dev.azure.com/ORGANIZATIONNAME"
$Env:SDAF_ADO_PROJECT = "SAP Deployment Automation Framework"
$Env:SDAF_WorkloadZoneSubscriptionID = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
$Env:ARM_TENANT_ID="zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz"
if ( $PSVersionTable.Platform -eq "Unix") {
if ( Test-Path "SDAF") {
}
else {
$sdaf_path = New-Item -Path "SDAF" -Type Directory
}
}
else {
$sdaf_path = Join-Path -Path $Env:HOMEDRIVE -ChildPath "SDAF"
if ( Test-Path $sdaf_path) {
}
else {
New-Item -Path $sdaf_path -Type Directory
}
}
$branchName = "main"
Set-Location -Path $sdaf_path
if ( Test-Path "New-SDAFDevopsWorkloadZone.ps1") {
remove-item .\New-SDAFDevopsWorkloadZone.ps1
}
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/$branchName/deploy/scripts/New-SDAFDevopsWorkloadZone.ps1 -OutFile .\New-SDAFDevopsWorkloadZone.ps1 ; .\New-SDAFDevopsWorkloadZone.ps1
Создание образца конфигурации плоскости управления
Конвейер можно запустить Create Sample Deployer Configuration
, чтобы создать образец конфигурации для плоскости управления. При запуске выберите соответствующий регион Azure. Кроме того, можно управлять развертыванием Брандмауэр Azure и Бастиона Azure.
Ручная настройка Azure DevOps Services для платформы автоматизации развертывания SAP
Вы можете вручную настроить Azure DevOps Services для SAP Deployment Automation Framework.
Создание нового проекта
Azure Repos можно использовать для хранения кода из репозитория GitHub sap-automation и файлов конфигурации среды.
Откройте Azure DevOps и создайте проект, выбрав новый проект и введя сведения о проекте. Проект содержит репозиторий системы управления версиями Azure Repos и Azure Pipelines для выполнения действий развертывания.
Если вы не видите новый проект, убедитесь, что у вас есть разрешения на создание новых проектов в организации.
Запишите URL-адрес проекта.
Импорт репозитория
Начните с импорта репозитория GitHub для sap Deployment Automation Framework bootstrap в Azure Repos.
Перейдите в раздел репозиториев и выберите "Импорт репозитория". Импортируйте репозиторий https://github.com/Azure/sap-automation-bootstrap.git
в Azure DevOps. Дополнительные сведения см. в разделе "Импорт репозитория".
Если вы не можете импортировать репозиторий, можно создать репозиторий вручную. Затем вы можете импортировать содержимое из репозитория sap Deployment Automation Framework GitHub Bootstrap в него.
Создание репозитория для импорта вручную
Это действие выполняется только в том случае, если вы не можете импортировать репозиторий напрямую.
Чтобы создать репозиторий рабочих областей, в разделе Repos в разделе "Параметры проекта" нажмите кнопку "Создать".
Выберите репозиторий, введите Git и укажите имя репозитория. Например, используйте репозиторий конфигурации SAP.
Клонирование репозитория
Чтобы обеспечить более полную возможность редактирования содержимого, можно клонировать репозиторий в локальную папку и изменить содержимое локально.
Чтобы клонировать репозиторий в локальную папку, в разделе Репозиторий на портале в разделе "Файлы" выберите "Клонировать". Дополнительные сведения см. в разделе "Клонирование репозитория".
Импорт содержимого репозитория вручную с помощью локального клона
Вы также можете вручную скачать содержимое из репозитория SAP Deployment Automation Framework и добавить его в локальный клон репозитория Azure DevOps.
Перейдите в репозиторий и скачайте содержимое https://github.com/Azure/SAP-automation-samples
репозитория в виде ZIP-файла. Выберите "Код" и нажмите кнопку "Скачать ZIP- файл".
Скопируйте содержимое из ZIP-файла в корневую папку локального клона.
Откройте локальную папку в Visual Studio Code. Вы увидите, что изменения должны быть синхронизированы индикатором значком системы управления версиями, показанным здесь.
Щелкните значок системы управления версиями и предоставьте сообщение об изменении. Например, введите импорт из GitHub и нажмите клавиши CTRL+ВВОД, чтобы зафиксировать изменения. Затем нажмите кнопку "Синхронизация изменений" , чтобы синхронизировать изменения обратно в репозиторий.
Выберите источник для кода Terraform и Ansible
Вы можете запустить код платформы автоматизации SAP непосредственно из GitHub или импортировать его локально.
Запуск кода из локального репозитория
Если вы хотите запустить код SAP Deployment Automation Framework из локального проекта Azure DevOps, необходимо создать отдельный репозиторий кода и репозиторий конфигурации в проекте Azure DevOps:
- Имя репозитория конфигурации:
Same as the DevOps Project name
. Источник :https://github.com/Azure/sap-automation-bootstrap.git
. - Имя репозитория кода:
sap-automation
. Источник :https://github.com/Azure/sap-automation.git
. - Имя примера и репозитория шаблонов:
sap-samples
Источник :https://github.com/Azure/sap-automation-samples.git
.
Запуск кода непосредственно из GitHub
Если вы хотите запустить код непосредственно из GitHub, необходимо указать учетные данные для Azure DevOps, чтобы получить содержимое из GitHub.
Создание подключения службы GitHub
Чтобы извлечь код из GitHub, необходимо подключение службы GitHub. Дополнительные сведения см. в разделе "Управление подключениями к службе".
Чтобы создать подключение к службе, перейдите к Project Параметры и в разделе "Конвейеры" перейдите к подключениям к службе.
Выберите GitHub в качестве типа подключения службы. Выберите Azure Pipelines в раскрывающемся списке конфигурации OAuth.
Выберите "Авторизовать", чтобы войти в GitHub.
Введите имя подключения службы, например SDAF Подключение ion к GitHub. Убедитесь, что установлен флажок Предоставить разрешение на доступ всем конвейерам. Нажмите кнопку "Сохранить", чтобы сохранить подключение к службе.
Настройка веб-приложения
При необходимости платформа автоматизации подготавливает веб-приложение как часть уровня управления для поддержки зон рабочих нагрузок SAP и системных файлов конфигурации. Если вы хотите использовать веб-приложение, необходимо сначала создать регистрацию приложения для проверки подлинности. Откройте Azure Cloud Shell и выполните следующие команды.
При необходимости замените MGMT
среду.
echo '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}]}]' >> manifest.json
TF_VAR_app_registration_app_id=$(az ad app create --display-name MGMT-webapp-registration --enable-id-token-issuance true --sign-in-audience AzureADMyOrg --required-resource-access @manifest.json --query "appId" | tr -d '"')
echo $TF_VAR_app_registration_app_id
az ad app credential reset --id $TF_VAR_app_registration_app_id --append --query "password"
rm manifest.json
Сохраните идентификатор регистрации приложения и пароль для последующего использования.
Создание Azure Pipelines
Azure Pipelines реализованы в виде файлов YAML. Они хранятся в папке deploy/pipelines в репозитории.
Конвейер развертывания уровня управления
Создайте конвейер развертывания плоскости управления. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Задайте конвейер со следующими параметрами:
Параметр | Значение |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Филиал | main |
Путь | pipelines/01-deploy-control-plane.yml |
Имя. | Развертывание уровня управления |
Сохраните конвейер. Чтобы просмотреть "Сохранить", выберите шеврон рядом с пунктом "Выполнить". Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить " в меню многоточия справа и переименуйте конвейер в качестве развертывания плоскости управления.
Конвейер развертывания зоны рабочей нагрузки SAP
Создайте конвейер зоны рабочей нагрузки SAP. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Задайте конвейер со следующими параметрами:
Параметр | Значение |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Филиал | main |
Путь | pipelines/02-sap-workload-zone.yml |
Имя. | Развертывание зоны рабочей нагрузки SAP |
Сохраните конвейер. Чтобы просмотреть "Сохранить", выберите шеврон рядом с пунктом "Выполнить". Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить " в меню многоточия справа и переименуйте конвейер в качестве развертывания зоны рабочей нагрузки SAP.
Конвейер развертывания системы SAP
Создайте конвейер развертывания системы SAP. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Задайте конвейер со следующими параметрами:
Параметр | Значение |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Филиал | main |
Путь | pipelines/03-sap-system-deployment.yml |
Имя. | Развертывание системы SAP (инфраструктура) |
Сохраните конвейер. Чтобы просмотреть "Сохранить", выберите шеврон рядом с пунктом "Выполнить". Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить" в меню многоточия справа и переименуйте конвейер как развертывание системы SAP (инфраструктура).
Конвейер приобретения программного обеспечения SAP
Создайте конвейер приобретения программного обеспечения SAP. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Задайте конвейер со следующими параметрами:
Параметр | Значение |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Филиал | main |
Путь | deploy/pipelines/04-sap-software-download.yml |
Имя. | Приобретение программного обеспечения SAP |
Сохраните конвейер. Чтобы просмотреть "Сохранить", выберите шеврон рядом с пунктом "Выполнить". Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить " в меню многоточия справа и переименуйте конвейер как приобретение программного обеспечения SAP.
Конвейер установки программного обеспечения и настройки SAP
Создайте конвейер конфигурации SAP и установки программного обеспечения. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Задайте конвейер со следующими параметрами:
Параметр | Значение |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Филиал | main |
Путь | pipelines/05-DB-and-SAP-installation.yml |
Имя. | Установка и настройка SAP |
Сохраните конвейер. Чтобы просмотреть "Сохранить", выберите шеврон рядом с пунктом "Выполнить". Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить " в меню многоточия справа и переименуйте конвейер в виде конфигурации SAP и установки программного обеспечения.
Конвейер удаления развертывания
Создайте конвейер удаления развертывания. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Задайте конвейер со следующими параметрами:
Параметр | Значение |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Филиал | main |
Путь | pipelines/10-remover-terraform.yml |
Имя. | Удаление развертывания |
Сохраните конвейер. Чтобы просмотреть "Сохранить", выберите шеврон рядом с пунктом "Выполнить". Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить " в меню с многоточием справа и переименуйте конвейер как удаление развертывания.
Конвейер удаления уровня управления
Создайте конвейер удаления плоскости управления. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Задайте конвейер со следующими параметрами:
Параметр | Значение |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Филиал | main |
Путь | pipelines/12-remove-control-plane.yml |
Имя. | Удаление уровня управления |
Сохраните конвейер. Чтобы просмотреть "Сохранить", выберите шеврон рядом с пунктом "Выполнить". Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить " в меню многоточия справа и переименуйте конвейер как удаление плоскости управления.
Конвейер удаления развертывания с помощью Azure Resource Manager
Создайте конвейер azure Resource Manager для удаления развертывания. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Задайте конвейер со следующими параметрами:
Параметр | Значение |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Филиал | main |
Путь | pipelines/11-remover-arm-fallback.yml |
Имя. | Удаление развертывания с помощью Azure Resource Manager |
Сохраните конвейер. Чтобы просмотреть "Сохранить", выберите шеврон рядом с пунктом "Выполнить". Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить " в меню с многоточием справа и переименуйте конвейер в качестве удаления развертывания с помощью процессора ARM.
Примечание.
Используйте этот конвейер только в качестве последнего средства. Удаление только групп ресурсов оставляет остатки, которые могут усложнить повторное развертывание.
Конвейер средства обновления репозитория
Создайте конвейер обновления репозитория. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Задайте конвейер со следующими параметрами:
Параметр | Значение |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Филиал | main |
Путь | pipelines/20-update-ado-repository.yml |
Имя. | Средство обновления репозитория |
Сохраните конвейер. Чтобы просмотреть "Сохранить", выберите шеврон рядом с пунктом "Выполнить". Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить " в меню многоточия справа и переименуйте конвейер в качестве редактора обновления репозитория.
Этот конвейер следует использовать при наличии обновления в репозитории "Автоматизация SAP", который вы хотите использовать.
Импорт задачи очистки из Visual Studio Marketplace
Конвейеры используют пользовательскую задачу для выполнения действий по очистке после развертывания. Вы можете установить настраиваемую задачу из post build Cleanup. Установите его в организацию Azure DevOps перед запуском конвейеров.
Подготовка к локальному агенту
Создайте пул агентов, перейдя в Параметры организации. В разделе "Конвейеры" выберите "Пулы агентов>" "Добавить пул". Выберите тип пула, размещенный самостоятельно. Присвойт пулу имя для выравнивания с средой плоскости управления. Например, укажите
MGMT-WEEU-POOL
. Убедитесь, что выбрано разрешение на доступ ко всем конвейерам и нажмите кнопку "Создать ", чтобы создать пул.Войдите с помощью учетной записи пользователя, используемой в организации Azure DevOps .
На домашней странице откройте параметры пользователя и выберите личные маркеры доступа.
Создайте личный маркер доступа с помощью следующих параметров:
Пулы агентов: выберите "Чтение" и "Управление".
Сборка: выберите "Чтение" и "Выполнить".
Код: выберите "Чтение" и "Запись".
Группы переменных: выберите "Чтение", "Создать" и "Управление".
Запишите значение созданного маркера.
Определения переменных
Конвейеры развертывания настроены для использования набора предопределенных значений параметров, определенных с помощью групп переменных.
Общие переменные
Общие переменные используются всеми конвейерами развертывания. Они хранятся в группе переменных с именем SDAF-General
.
Создайте новую группу переменных с именем с помощью страницы библиотеки в разделе "Конвейеры".SDAF-General
Добавьте следующие переменные:
Сохраните переменные.
Кроме того, для настройки групп можно использовать интерфейс командной строки Azure DevOps.
s-user="<SAP Support user account name>"
s-password="<SAP Support user password>"
az devops login
az pipelines variable-group create --name SDAF-General --variables ANSIBLE_HOST_KEY_CHECKING=false Deployment_Configuration_Path=WORKSPACES Branch=main S-Username=$s-user S-Password=$s-password tf_version=1.3.0 --output yaml
Не забудьте назначить разрешения для всех конвейеров с помощью разрешений конвейера.
Переменные, относящиеся к среде
Так как каждая среда может иметь разные учетные данные развертывания, необходимо создать группу переменных для каждой среды. Например, используйте SDAF-MGMT
,SDAF-DEV
и SDAF-QA
.
Создайте новую группу переменных с именем SDAF-MGMT
среды плоскости управления с помощью страницы библиотеки в разделе Pipelines . Добавьте следующие переменные:
Переменная | Значение | Примечания. |
---|---|---|
Агент | Azure Pipelines или имя пула агентов |
Этот пул создается на следующем шаге. |
CP_ARM_CLIENT_ID | Service principal application ID |
|
CP_ARM_OBJECT_ID | Service principal object ID |
|
CP_ARM_CLIENT_SECRET | Service principal password |
Измените тип переменной на секрет, выбрав значок блокировки. |
CP_ARM_SUBSCRIPTION_ID | Target subscription ID |
|
CP_ARM_TENANT_ID | Tenant ID для субъекта-службы |
|
AZURE_CONNECTION_NAME | Имя ранее созданного подключения | |
sap_fqdn | Полное доменное имя SAP, например sap.contoso.net |
Требуется, только в том случае, если не используется частная зона DNS. |
FENCING_SPN_ID | Service principal application ID для агента ограждения |
Требуется для высокодоступных развертываний, использующих субъект-службу для агента ограждения. |
FENCING_SPN_PWD | Service principal password для агента ограждения |
Требуется для высокодоступных развертываний, использующих субъект-службу для агента ограждения. |
FENCING_SPN_TENANT | Service principal tenant ID для агента ограждения |
Требуется для высокодоступных развертываний, использующих субъект-службу для агента ограждения. |
PAT | <Personal Access Token> |
Используйте личный маркер, определенный на предыдущем шаге. |
POOL | <Agent Pool name> |
Пул агентов, используемый для этой среды. |
APP_REGISTRATION_APP_ID | App registration application ID |
Требуется при развертывании веб-приложения. |
WEB_APP_CLIENT_SECRET | App registration password |
Требуется при развертывании веб-приложения. |
SDAF_GENERAL_GROUP_ID | Идентификатор группы для группы SDAF-General | Идентификатор можно получить из параметра variableGroupId URL-адреса при доступе к группе переменных с помощью браузера. Например: variableGroupId=8 . |
WORKLOADZONE_PIPELINE_ID | Идентификатор конвейера SAP workload zone deployment |
Идентификатор можно получить из параметра definitionId URL-адреса на странице конвейера в Azure DevOps. Например: definitionId=31 . |
SYSTEM_PIPELINE_ID | Идентификатор конвейера SAP system deployment (infrastructure) |
Идентификатор можно получить из параметра definitionId URL-адреса на странице конвейера в Azure DevOps. Например: definitionId=32 . |
Сохраните переменные.
Не забудьте назначить разрешения для всех конвейеров с помощью разрешений конвейера.
При использовании веб-приложения убедитесь, что служба сборки имеет по крайней мере разрешения на участие.
Для создания следующей группы переменных среды можно использовать функцию клонирования. APP_REGISTRATION_APP_ID, WEB_APP_CLIENT_SECRET, SDAF_GENERAL_GROUP_ID, WORKLOADZONE_PIPELINE_ID и SYSTEM_PIPELINE_ID требуются только для группы SDAF-MGMT.
Создание подключения службы
Чтобы удалить ресурсы Azure, требуется подключение к службе Azure Resource Manager. Дополнительные сведения см. в разделе "Управление подключениями к службе".
Чтобы создать подключение к службе, перейдите в Project Параметры. В разделе "Конвейеры" выберите подключения службы.
Выберите Azure Resource Manager в качестве типа подключения службы и субъект-службу (вручную) в качестве метода проверки подлинности. Введите целевую подписку, которая обычно является подпиской уровня управления. Введите сведения о субъекте-службе. Выберите "Проверить" , чтобы проверить учетные данные. Дополнительные сведения о создании субъекта-службы см. в статье "Создание субъекта-службы".
Введите имя подключения службы, например, используйтеConnection to MGMT subscription
. Убедитесь, что установлен флажок Предоставить разрешение на доступ всем конвейерам. Выберите Проверить и сохранить, чтобы сохранить подключение к службе.
Разрешения
Большинство конвейеров добавляют файлы в Azure Repos и поэтому требуют разрешений на вытягивание. В project Параметры в разделе репозиториев выберите вкладку "Безопасность" репозитория исходного кода и назначьте разрешения "Участие".Build Service
Развертывание уровня управления
Вновь созданные конвейеры могут не отображаться в представлении по умолчанию. Выберите вкладку "Последние" и вернитесь на вкладки "Все", чтобы просмотреть новые конвейеры.
Выберите конвейер развертывания уровня управления и введите имена конфигураций для развертывающего и библиотеки SAP. Выберите "Выполнить" , чтобы развернуть плоскость управления. Если вы хотите настроить веб-приложение конфигурации, установите флажок "Развернуть веб-приложение конфигурации" проверка box.
Настройка локального агента служб Azure DevOps Services вручную
Настройка вручную необходима только в том случае, если агент Azure DevOps Services не настроен автоматически. Перед продолжением убедитесь, что пул агентов пуст.
Чтобы подключиться к развертыванию, выполните следующие действия.
Войдите на портал Azure.
Перейдите в группу ресурсов, содержащую виртуальную машину развертывания.
Подключение на виртуальную машину с помощью Бастиона Azure.
Имя пользователя по умолчанию — azureadm.
Выберите закрытый ключ SSH из Azure Key Vault.
Выберите подписку, содержащую плоскость управления.
Выберите хранилище ключей средства развертывания.
В списке секретов выберите секрет, который заканчивается - sshkey.
Подключитесь к виртуальной машине.
Выполните следующий скрипт, чтобы настроить средство развертывания:
mkdir -p ~/Azure_SAP_Automated_Deployment
cd ~/Azure_SAP_Automated_Deployment
git clone https://github.com/Azure/sap-automation.git
cd sap-automation/deploy/scripts
./configure_deployer.sh
Перезагрузите средство развертывания, повторное подключение и выполните следующий скрипт, чтобы настроить агент Azure DevOps:
cd ~/Azure_SAP_Automated_Deployment/
$DEPLOYMENT_REPO_PATH/deploy/scripts/setup_ado.sh
Примите лицензию и при появлении запроса на URL-адрес сервера введите URL-адрес, который вы захватили при создании проекта Azure DevOps. Для проверки подлинности выберите PAT и введите значение токена на предыдущем шаге.
При появлении запроса введите имя пула приложений, созданное на предыдущем шаге. Примите имя агента по умолчанию и имя рабочей папки по умолчанию. Теперь агент настроен и запускается.
Развертывание веб-приложения уровня управления
Выбор deploy the web app infrastructure
параметра при запуске конвейера развертывания плоскости управления подготавливает инфраструктуру, необходимую для размещения веб-приложения. Конвейер развертывания веб-приложения публикует программное обеспечение приложения в этой инфраструктуре.
Дождитесь завершения развертывания. Перейдите на вкладку "Расширения" и следуйте инструкциям, чтобы завершить настройку. reply-url
Обновите значения для регистрации приложения.
В результате запуска конвейера плоскости управления часть необходимого URL-адреса веб-приложения хранится в переменной, именуемой WEBAPP_URL_BASE
в группе переменных для конкретной среды. В любое время можно обновить URL-адреса зарегистрированного веб-приложения с помощью следующей команды.
webapp_url_base=<WEBAPP_URL_BASE>
az ad app update --id $TF_VAR_app_registration_app_id --web-home-page-url https://${webapp_url_base}.azurewebsites.net --web-redirect-uris https://${webapp_url_base}.azurewebsites.net/ https://${webapp_url_base}.azurewebsites.net/.auth/login/aad/callback
Кроме того, необходимо предоставить разрешения для чтения управляемому удостоверению, назначаемого системой приложений. Перейдите к ресурсу службы приложений. В левой части выберите "Удостоверение". На вкладке "Назначенная системой" выберите назначения>ролей Azure. Выберите подписку в качестве область и читателя в качестве роли. Затем выберите Сохранить. Без этого шага функции раскрывающегося списка веб-приложения работать не будут.
Теперь вы сможете посетить веб-приложение и использовать его для развертывания зон рабочей нагрузки SAP и инфраструктуры системы SAP.