Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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. Дополнительные сведения см. в разделе "Управление подключениями к службе".
Чтобы создать подключение к службе, перейдите в раздел "Параметры проекта " и в разделе "Конвейеры " перейдите к подключениям к службе.
Выберите GitHub в качестве типа подключения службы. Выберите Azure Pipelines в раскрывающемся списке конфигурации OAuth .
Выберите "Авторизовать", чтобы войти в GitHub.
Введите имя подключения службы, например SDAF Connection к 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. Укажите конвейер со следующими параметрами:
Настройки | Ценность |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Отрасль | главный |
Путь | pipelines/01-deploy-control-plane.yml |
Имя | Развертывание плоскости управления |
Сохраните трубопровод. Чтобы просмотреть «Сохранить», выберите стрелку рядом с «Выполнить». Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите Переименовать/Переместить в меню многоточия справа и переименуйте конвейер в Развертывание контрольной плоскости.
Конвейер развертывания зоны рабочей нагрузки SAP
Создайте конвейер зоны рабочей нагрузки SAP. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Укажите конвейер со следующими параметрами:
Настройки | Ценность |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Отрасль | главный |
Путь | pipelines/02-sap-workload-zone.yml |
Имя | Развертывание зоны рабочей нагрузки SAP |
Сохраните трубопровод. Чтобы просмотреть «Сохранить», выберите стрелку рядом с «Выполнить». Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите Переименовать/Переместить в меню многоточия справа и переименуйте проект на развертывание зоны нагрузки SAP.
Конвейер развертывания системы SAP
Создайте конвейер развертывания системы SAP. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Укажите конвейер со следующими параметрами:
Настройки | Ценность |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Отрасль | главный |
Путь | pipelines/03-sap-system-deployment.yml |
Имя | Развертывание системы SAP (инфраструктура) |
Сохраните трубопровод. Чтобы просмотреть «Сохранить», выберите стрелку рядом с «Выполнить». Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить" в меню многоточия справа и переименуйте конвейер как развертывание системы SAP (инфраструктура).
Конвейер приобретения программного обеспечения SAP
Создайте конвейер приобретения программного обеспечения SAP. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Укажите конвейер со следующими параметрами:
Настройки | Ценность |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Отрасль | главный |
Путь | deploy/pipelines/04-sap-software-download.yml |
Имя | Приобретение программного обеспечения SAP |
Сохраните трубопровод. Чтобы просмотреть «Сохранить», выберите стрелку рядом с «Выполнить». Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите "Переименовать или переместить " в меню многоточия справа и переименуйте конвейер как приобретение программного обеспечения SAP.
Конвейер конфигурации SAP и установки программного обеспечения
Создайте конвейер конфигурации SAP и установки программного обеспечения. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Укажите конвейер со следующими параметрами:
Настройки | Ценность |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Отрасль | главный |
Путь | pipelines/05-DB-and-SAP-installation.yml |
Имя | Настройка и установка SAP |
Сохраните трубопровод. Чтобы просмотреть «Сохранить», выберите стрелку рядом с «Выполнить». Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите Переименовать/Переместить в меню с многоточием справа и переименуйте конвейер в SAP конфигурация и установка программного обеспечения.
Цепочка процессов удаления развертывания
Создайте конвейер удаления развертывания. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Укажите конвейер со следующими параметрами:
Настройки | Ценность |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Отрасль | главный |
Путь | pipelines/10-remover-terraform.yml |
Имя | Удаление развертывания |
Сохраните трубопровод. Чтобы просмотреть «Сохранить», выберите стрелку рядом с «Выполнить». Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите «Переименовать/Переместить» в меню с многоточием справа и переименуйте конвейер как Удаление развертывания.
Конвейер удаления управляющей плоскости
Создайте конвейер удаления плоскости управления. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Укажите конвейер со следующими параметрами:
Настройки | Ценность |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Отрасль | главный |
Путь | pipelines/12-remove-control-plane.yml |
Имя | Удаление плоскости управления |
Сохраните трубопровод. Чтобы просмотреть «Сохранить», выберите стрелку рядом с «Выполнить». Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите «Переименовать/Переместить» в меню многоточия справа и переименуйте пайплайн как Удаление плоскости управления.
Конвейер удаления развертывания с помощью Azure Resource Manager
Создайте конвейер Azure Resource Manager для удаления развертывания. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Укажите конвейер со следующими параметрами:
Настройки | Ценность |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Отрасль | главный |
Путь | pipelines/11-remover-arm-fallback.yml |
Имя | Удаление развертывания с помощью Azure Resource Manager |
Сохраните трубопровод. Чтобы просмотреть «Сохранить», выберите стрелку рядом с «Выполнить». Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите Переместить/Переименовать в меню с многоточием справа и переименуйте конвейер на Удаление развертывания с использованием процессора ARM.
Примечание.
Используйте этот конвейер только в качестве последнего средства. Удаление только групп ресурсов оставляет остатки, которые могут усложнить повторное развертывание.
Конвейер обновления репозитория
Создайте конвейер обновления репозитория. В разделе "Конвейеры" выберите "Создать конвейер". Выберите Azure Repos Git в качестве источника кода. Настройте конвейер для использования существующего YAML-файла Azure Pipelines. Укажите конвейер со следующими параметрами:
Настройки | Ценность |
---|---|
Репозиторий | "Корневой репозиторий" (совпадает с именем проекта) |
Отрасль | главный |
Путь | pipelines/20-update-ado-repository.yml |
Имя | Обновление репозитория |
Сохраните трубопровод. Чтобы просмотреть «Сохранить», выберите стрелку рядом с «Выполнить». Перейдите в раздел "Конвейеры" и выберите конвейер. Выберите «Переименовать/Переместить» в меню многоточия справа и переименуйте пайплайн в Обновление репозитория.
Этот конвейер следует использовать при обновлении в репозитории sap-automation, который вы хотите использовать.
Импорт задачи очистки из Visual Studio Marketplace
Пайплайны используют пользовательскую задачу для выполнения действий по очистке после развертывания. Вы можете установить настраиваемую задачу из Очистка после сборки. Установите его в организацию Azure DevOps перед запуском конвейеров.
Подготовка к локально размещённому агенту
Создайте пул агентов, перейдя в параметры организации. В разделе «Конвейеры» выберите Пулы агентов>Добавить пул. Выберите самостоятельное размещение в качестве типа пула. Присвойте пулу имя для согласования с средой плоскости управления. Например, укажите
MGMT-WEEU-POOL
. Убедитесь, что выбрано разрешение на доступ ко всем конвейерам и нажмите кнопку "Создать ", чтобы создать пул.Войдите с помощью учетной записи пользователя, используемой в организации Azure DevOps .
На домашней странице откройте параметры пользователя и выберите личные маркеры доступа.
Создайте личный маркер доступа с помощью следующих параметров:
Пулы агентов: выберите "Чтение" и "Управление".
Сборка: выберите Чтение и выполнение.
Код: выберите "Чтение" и "Запись".
Группы переменных: выберите Чтение, создание и управление.
Запишите созданное значение токена.
Определения переменных
Конвейеры развертывания настроены для использования набора предопределенных значений параметров, определенных с помощью групп переменных.
Общие переменные
Общие переменные используются всеми конвейерами развертывания. Они хранятся в группе переменных с именем SDAF-General
.
Создайте новую группу переменных с именем SDAF-General
с помощью страницы библиотеки в разделе "Конвейеры ". Добавьте следующие переменные:
Переменная | Ценность | Примечания. |
---|---|---|
Путь_Настройки_Внедрения | РАБОЧИЕ ОБЛАСТИ | Для тестирования примера конфигурации используйте samples/WORKSPACES вместо workspaceS. |
Отрасль | главный | |
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_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 | 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 не используется. |
Фехтование_SPN_ID |
Service principal application ID для агента по ограждению |
Требуется для высокодоступных развертываний, использующих субъект-службу для агента ограждения. |
FENCING_SPN_PWD |
Service principal password для агента по ограждению |
Требуется для высокодоступных развертываний, использующих субъект-службу для агента ограждения. |
FENCING_SPN_TENANT |
Service principal tenant ID для агента по ограждению |
Требуется для высокодоступных развертываний, использующих субъект-службу для агента ограждения. |
ПОХЛОПАТЬ | <Personal Access Token> |
Используйте личный маркер, определенный на предыдущем шаге. |
БАССЕЙН | <Agent Pool name> |
Пул агентов, используемый для этой среды. |
APP_REGISTRATION_APP_ID | App registration application ID |
Требуется при развертывании веб-приложения. |
WEB_APP_CLIENT_SECRET | App registration password |
Требуется при развертывании веб-приложения. |
SDAF_ОБЩАЯ_ГРУППА_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. Дополнительные сведения см. в разделе "Управление подключениями к службе".
Чтобы создать подключение к службе, перейдите в раздел "Параметры проекта". В разделе Пайплайны выберите подключения сервисов.
Выберите Azure Resource Manager в качестве типа подключения службы и субъект-службу (вручную) в качестве метода проверки подлинности. Введите целевую подписку, которая обычно является подпиской уровня управления. Введите сведения об учетной записи службы. Выберите "Проверить" , чтобы проверить учетные данные. Дополнительные сведения о создании субъекта-службы см. в статье "Создание субъекта-службы".
Введите имя подключения службы, например, используйте Connection to MGMT subscription
. Убедитесь, что установлен флажок Предоставить разрешение на доступ всем конвейерам. Выберите "Проверить и сохранить ", чтобы сохранить подключение к службе.
Разрешения
Большинство конвейеров добавляют файлы в Azure Repos и поэтому требуют разрешений на вытягивание. В разделе "Параметры проекта" в разделе "Репозитории" выберите вкладку "Безопасность" репозитория исходного кода и назначьте разрешения "Участие".Build Service
Развертывание плоскости управления
Недавно созданные конвейеры могут не отображаться в представлении по умолчанию. Выберите вкладку "Последние " и вернитесь на вкладки "Все" , чтобы просмотреть новые конвейеры.
Выберите конвейер развертывания уровня управления и введите имена конфигураций для развертывающего и библиотеки SAP. Выберите Выполнить, чтобы развернуть контрольную плоскость. Установите флажок "Развернуть веб-приложение конфигурации", если вы хотите настроить веб-приложение конфигурации.
Настройка локального агента 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.