Использование платформы автоматизации развертывания 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_WORKLOAD_ZONE_CODE = "DEV"
    $Env:SDAF_ControlPlaneSubscriptionID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    $Env:SDAF_WorkloadZoneSubscriptionID = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
    $Env:ARM_TENANT_ID="zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz"
    
    $UniqueIdentifier = Read-Host "Please provide an identifier that makes the service principal names unique, for instance a project code"
    
    $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 = $UniqueIdentifier + " SDAF Control Plane"
    }
    
    else {
      $Env:SDAF_APP_NAME = Read-Host "Please provide the Application registration name"
    }
    
    $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 = $UniqueIdentifier + " SDAF " + $Env:SDAF_CONTROL_PLANE_CODE + " SPN"
    }
        else {
      $Env:SDAF_MGMT_SPN_NAME = Read-Host "Please provide the Control Plane Service Principal Name"
    }
    
    $confirmation = Read-Host "Do you want to create a new Service Principal for the Workload zone y/n?"
    if ($confirmation -eq 'y') {
        $Env:SDAF_WorkloadZone_SPN_NAME = $UniqueIdentifier + " SDAF " + $Env:SDAF_WORKLOAD_ZONE_CODE + " SPN"
    }
        else {
      $Env:SDAF_WorkloadZone_SPN_NAME = Read-Host "Please provide the Workload Zone 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") {
        remove-item .\New-SDAFDevopsProject.ps1
    }
    
    Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/main/deploy/scripts/New-SDAFDevopsProject.ps1 -OutFile .\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
        }
    }
    
    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/main/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.

Клонирование репозитория

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

Чтобы клонировать репозиторий в локальную папку, в разделе Репозиторий на портале в разделе "Файлы" выберите "Клонировать". Дополнительные сведения см. в разделе "Клонирование репозитория".

Screenshot that shows how to clone the repository.

Импорт содержимого репозитория вручную с помощью локального клона

Вы также можете вручную скачать содержимое из репозитория SAP Deployment Automation Framework и добавить его в локальный клон репозитория Azure DevOps.

Перейдите в репозиторий и скачайте содержимое https://github.com/Azure/SAP-automation-samples репозитория в виде ZIP-файла. Выберите "Код" и нажмите кнопку "Скачать ZIP- файл".

Скопируйте содержимое из ZIP-файла в корневую папку локального клона.

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

Screenshot that shows that source code is changed.

Щелкните значок системы управления версиями и предоставьте сообщение об изменении. Например, введите импорт из 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 Параметры и в разделе "Конвейеры" перейдите к подключениям к службе.

Screenshot that shows how to create a service connection for GitHub.

Выберите 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 перед запуском конвейеров.

Подготовка к локальному агенту

  1. Создайте пул агентов, перейдя в Параметры организации. В разделе "Конвейеры" выберите "Пулы агентов>" "Добавить пул". Выберите тип пула, размещенный самостоятельно. Присвойт пулу имя для выравнивания с средой плоскости управления. Например, укажите MGMT-WEEU-POOL. Убедитесь, что выбрано разрешение на доступ ко всем конвейерам и нажмите кнопку "Создать ", чтобы создать пул.

  2. Войдите с помощью учетной записи пользователя, используемой в организации Azure DevOps .

  3. На домашней странице откройте параметры пользователя и выберите личные маркеры доступа.

    Diagram that shows the creation of a personal access token.

  4. Создайте личный маркер доступа с помощью следующих параметров:

    • Пулы агентов: выберите "Чтение" и "Управление".

    • Сборка: выберите "Чтение" и "Выполнить".

    • Код: выберите "Чтение" и "Запись".

    • Группы переменных: выберите "Чтение", "Создать" и "Управление".

      Запишите значение созданного маркера.

    Diagram that shows the attributes of the personal access token.

Определения переменных

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

Общие переменные

Общие переменные используются всеми конвейерами развертывания. Они хранятся в группе переменных с именем SDAF-General.

Создайте новую группу переменных с именем с помощью страницы библиотекив разделе "Конвейеры".SDAF-General Добавьте следующие переменные:

Переменная Значение Примечания.
Путь_конфигурации_развертывания РАБОЧИЕ ОБЛАСТИ Для тестирования примера конфигурации используйте samples/WORKSPACES вместо workspaceS.
Филиал main
S-Username <SAP Support user account name>
S-Password <SAP Support user password> Измените тип переменной на секрет, выбрав значок блокировки.
tf_version 1.6.0 Используемая версия Terraform. См. скачивание Terraform.

Сохраните переменные.

Кроме того, для настройки групп можно использовать интерфейс командной строки 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_varsion=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 Параметры. В разделе "Конвейеры" выберите подключения службы.

Screenshot that shows how to create a service connection.

Выберите Azure Resource Manager в качестве типа подключения службы и субъект-службу (вручную) в качестве метода проверки подлинности. Введите целевую подписку, которая обычно является подпиской уровня управления. Введите сведения о субъекте-службе. Выберите "Проверить" , чтобы проверить учетные данные. Дополнительные сведения о создании субъекта-службы см. в статье "Создание субъекта-службы".

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

Разрешения

Большинство конвейеров добавляют файлы в Azure Repos и поэтому требуют разрешений на вытягивание. В project Параметры в разделе репозиториев выберите вкладку "Безопасность" репозитория исходного кода и назначьте разрешения "Участие".Build Service

Screenshot that shows repository permissions.

Развертывание уровня управления

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

Выберите конвейер развертывания уровня управления и введите имена конфигураций для развертывающего и библиотеки SAP. Выберите "Выполнить" , чтобы развернуть плоскость управления. Если вы хотите настроить веб-приложение конфигурации, установите флажок "Развернуть веб-приложение конфигурации" проверка box.

Настройка локального агента служб Azure DevOps Services вручную

Настройка вручную необходима только в том случае, если агент Azure DevOps Services не настроен автоматически. Перед продолжением убедитесь, что пул агентов пуст.

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

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

  2. Перейдите в группу ресурсов, содержащую виртуальную машину развертывания.

  3. Подключение на виртуальную машину с помощью Бастиона Azure.

  4. Имя пользователя по умолчанию — azureadm.

  5. Выберите закрытый ключ SSH из Azure Key Vault.

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

  7. Выберите хранилище ключей средства развертывания.

  8. В списке секретов выберите секрет, который заканчивается - sshkey.

  9. Подключитесь к виртуальной машине.

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

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.

Следующий шаг