Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment configurer Azure DevOps Services pour exécuter des pipelines SAP Deployment Automation Framework. Cette configuration vous aide à normaliser et répéter le déploiement de l’infrastructure SAP, l’acquisition de logiciels et les tâches de configuration dans les environnements.
Vous configurez les ressources de projet Azure DevOps, les connexions de service, les pipelines, les autorisations et les groupes de variables requis par l’infrastructure. Une fois ces étapes terminées, vous pouvez exécuter des déploiements et des opérations d’environnement SAP en cours à partir d’Azure DevOps Services.
Choisir une méthode de configuration
Utilisez ce tableau pour choisir le chemin d’installation de votre environnement.
| Méthode | Meilleur quand | Résultat principal |
|---|---|---|
| Scripts de configuration automatisés | Vous souhaitez initialiser rapidement les artefacts de projet et utiliser les paramètres par défaut du framework. | Les scripts créent le projet Azure DevOps, les connexions de service et les ressources de déploiement de référence. |
| Configuration manuelle d’Azure DevOps | Vous avez besoin d’un contrôle total sur l’importation du référentiel, les connexions de service et les définitions de pipeline. | Vous créez et configurez chaque composant Azure DevOps étape par étape. |
Prerequisites
- Un abonnement Azure et des autorisations pour créer des ressources, des identités gérées et des entités de service.
- Une organisation Azure DevOps dans laquelle vous pouvez créer des projets, des pipelines, des connexions de service et des groupes de variables.
- Azure CLI installé et mis à jour sur votre station de travail locale (
az upgrade). - Windows PowerShell pour exécuter les scripts fournis.
- Informations d'identification pour le support SAP (S-user) si vous envisagez de gérer des pipelines d'acquisition de logiciels SAP.
Se connecter à Azure DevOps Services
Pour utiliser Azure DevOps Services, vous devez disposer d’une organisation Azure DevOps. Une organisation permet de connecter des groupes de projets connexes. Utilisez votre compte professionnel ou scolaire pour connecter automatiquement votre organisation à votre ID Microsoft Entra. Pour créer un compte, ouvrez Azure DevOps et connectez-vous, ou créez un nouveau compte.
Configurer Azure DevOps à l’aide de scripts d’automatisation
Utilisez cette procédure lorsque vous souhaitez que les scripts d’infrastructure créent le projet Azure DevOps, les connexions de service et les artefacts de base pour le plan de contrôle.
Ouvrez PowerShell et copiez le script suivant.
Mettez à jour toutes les valeurs de paramètre afin qu’elle corresponde à votre environnement.
Exécutez le script. Le script ouvre des fenêtres de navigateur pour l’authentification et pour les tâches dans Azure DevOps.
Important
Exécutez les étapes suivantes sur votre station de travail locale. Assurez-vous également d’avoir la dernière version d’Azure CLI installée en exécutant la commande
az upgrade.# Azure DevOps Configuration $AzureDevOpsOrganizationUrl = "https://dev.azure.com/ORGANIZATIONNAME" # Azure Infrastructure Configuration $ControlPlaneCode = "MGMT" $ControlPlaneRegionCode = "SECE" $Location = "swedencentral" $ControlPlaneName = "$ControlPlaneCode-$ControlPlaneRegionCode-DEP01" $AzureDevOpsProjectName = "SDAF-" + $ControlPlaneCode + "-" + $ControlPlaneRegionCode $ControlPlaneSubscriptionId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" $TenantId = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" # SAP Support Credentials $Env:SUserName = "SXXXXXXXX" $Env:Password = Read-Host "Please enter your SUserName password" -AsSecureString $MSIResourceGroupName = "SDAF-MSIs" # Azure DevOps Agent Configuration $AgentPoolName = "SDAF-$ControlPlaneCode-$ControlPlaneRegionCode-POOL" #Repository information $repo = "Azure/sap-automation" $branch = "main" Remove-Module SDAFUtilities -ErrorAction SilentlyContinue # Import required modules $url="https://raw.githubusercontent.com/$repo/refs/heads/$branch/deploy/scripts/pwsh/Output/SDAFUtilities/SDAFUtilities.psm1" Write-Host "Downloading SDAFUtilities module from $url" -ForegroundColor Green Invoke-WebRequest -Uri $url -OutFile "SDAFUtilities.psm1" Unblock-File -Path ".\SDAFUtilities.psm1" Import-Module ".\SDAFUtilities.psm1" # Create Managed Identity $ManagedServiceIdentity = New-SDAFUserAssignedIdentity ` -ManagedIdentityName "$ControlPlaneName" ` -ResourceGroupName $MSIResourceGroupName ` -SubscriptionId $ControlPlaneSubscriptionId ` -Location $Location ` -Verbose # Create Azure DevOps Project with Managed Identity New-SDAFADOProject ` -AdoOrganization $AzureDevOpsOrganizationUrl ` -AdoProject $AzureDevOpsProjectName ` -TenantId $TenantId ` -ControlPlaneCode $ControlPlaneCode ` -ControlPlaneSubscriptionId $ControlPlaneSubscriptionId ` -ControlPlaneName $ControlPlaneName ` -AuthenticationMethod 'Managed Identity' ` -AgentPoolName $AgentPoolName ` -ManagedIdentityObjectId $ManagedServiceIdentity.PrincipalId ` -CreateConnections ` -EnableWebApp ` -GitHubRepoName $repo ` -BranchName $branch -Verbose Write-Output "Azure DevOps Project '$AzureDevOpsProjectName' created successfully." Write-Output "Managed Identity Id: $($ManagedServiceIdentity.Id)" Write-Output "Agent Pool Name: $AgentPoolName"Dans Azure DevOps, vérifiez que :
- Le projet a été créé
- Le référentiel a été rempli
- Les pipelines ont été créés
Déterminez l’emplacement d’exécution du code Terraform et Ansible à partir de :
- Exécutez du code directement à partir de GitHub.
- Importez et exécutez du code à partir de référentiels dans votre projet Azure DevOps.
Configurer des artefacts pour une nouvelle zone de charge de travail
Exécutez cette procédure une fois le projet de plan de contrôle disponible.
- Ouvrez PowerShell et copiez le script suivant.
- Mettez à jour toutes les valeurs de paramètre afin qu’elle corresponde à votre environnement.
- Exécutez le script.
Utilisez le script suivant pour déployer les artefacts nécessaires pour prendre en charge une nouvelle zone de charge de travail. Ce processus crée le groupe de variables et la connexion de service dans Azure DevOps, et, éventuellement, le principal du service de déploiement.
# Azure DevOps Configuration
$AzureDevOpsOrganizationUrl = "https://dev.azure.com/ORGANIZATIONNAME"
# Azure Infrastructure Configuration
$ControlPlaneCode = "MGMT"
$ControlPlaneRegionCode = "SECE"
$Location = "swedencentral"
$ControlPlaneName = "$ControlPlaneCode-$ControlPlaneRegionCode-DEP01"
$ManagedIdentityName = "$ControlPlaneName"
$MSIResourceGroupName = "SDAF-MSIs"
$AzureDevOpsProjectName = "SDAF-" + $ControlPlaneCode + "-" + $ControlPlaneRegionCode
$ControlPlaneSubscriptionId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$WorkloadSubscriptionId = "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz"
$TenantId = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
$WorkloadCode = "TEST"
$WorkloadRegionCode = "SECE"
$WorkloadZoneCode = $WorkloadCode + "-" + $WorkloadRegionCode + "-SAP01"
Remove-Module SDAFUtilities -ErrorAction SilentlyContinue
# Import required modules
#Repository information
$repo = "Azure/sap-automation"
$branch = "main"
Remove-Module SDAFUtilities -ErrorAction SilentlyContinue
# Import required modules
$url="https://raw.githubusercontent.com/$repo/refs/heads/$branch/deploy/scripts/pwsh/Output/SDAFUtilities/SDAFUtilities.psm1"
Write-Host "Downloading SDAFUtilities module from $url" -ForegroundColor Green
Invoke-WebRequest -Uri $url -OutFile "SDAFUtilities.psm1"
Unblock-File -Path ".\SDAFUtilities.psm1"
Import-Module ".\SDAFUtilities.psm1"
# Get Managed Identity
$ManagedServiceIdentity = Get-SDAFUserAssignedIdentity `
-ManagedIdentityName $ManagedIdentityName `
-ResourceGroupName $MSIResourceGroupName `
-SubscriptionId $ControlPlaneSubscriptionId `
-Verbose
Write-Output "Managed Identity Id: $($ManagedServiceIdentity.Id)"
New-SDAFADOWorkloadZone `
-AdoOrganization $AzureDevOpsOrganizationUrl `
-AdoProject $AzureDevOpsProjectName `
-TenantId $TenantId `
-ControlPlaneCode $ControlPlaneCode `
-WorkloadZoneCode $WorkloadZoneCode `
-WorkloadZoneSubscriptionId $WorkloadSubscriptionId `
-AuthenticationMethod 'Managed Identity' `
-ManagedIdentityObjectId $ManagedServiceIdentity.PrincipalId `
-ManagedIdentityId $ManagedServiceIdentity.IdentityId `
-ControlPlaneSubscriptionId $ControlPlaneSubscriptionId `
-CreateConnections `
-Verbose
Dans Azure DevOps, vérifiez que le groupe de variables de zone de charge de travail et la connexion de service ont été créés.
Créer un exemple de configuration de plan de contrôle
Pour générer une configuration de plan de contrôle initiale, exécutez le pipeline Créer une configuration d'exemple de déploiement.
- Dans Azure DevOps, ouvrez le pipeline et sélectionnez Exécuter.
- Sélectionnez la région Azure appropriée.
- Définissez des indicateurs de composant facultatifs, tels que pare-feu Azure, Azure Bastion et Configuration App Service.
- Vérifiez que les exemples de fichiers générés ont été ajoutés à votre référentiel de configuration.
Configuration manuelle d’Azure DevOps Services pour SAP Deployment Automation Framework
Utilisez ce chemin lorsque vous souhaitez créer et configurer manuellement des ressources de projet au lieu d’utiliser les scripts Automation.
Créer un projet
Ouvrez Azure DevOps.
Sélectionnez Nouveau projet et entrez les détails du projet.
Le projet contient Azure Repos et Azure Pipelines pour les activités de déploiement.
Si vous ne voyez pas Nouveau projet, vérifiez que vous êtes autorisé à créer des projets dans l’organisation.
Enregistrez l’URL du projet. Vous utilisez cette URL dans Configurer l’agent auto-hébergé Azure DevOps Services manuellement.
Importer le référentiel
- Accédez aux référentiels et sélectionnez Importer un référentiel.
- Importez le référentiel sap-automation-bootstrap.
- En cas d’échec de l’importation, poursuivez avec Créer le référentiel pour l’importation manuelle et importer manuellement le contenu du référentiel à l’aide d’un clone local.
Pour plus d’informations, consultez Importer un référentiel.
Créer le référentiel pour l’importation manuelle
Effectuez cette étape uniquement si l’importation directe n’est pas disponible.
- Dans Repos, sous Paramètres du projet, sélectionnez Créer.
- Sélectionnez le type de référentiel Git.
- Entrez un nom de référentiel, tel que le référentiel de configuration SAP.
Cloner le référentiel
Dans Dépôts de fichiers, sélectionnez Cloner.>
Clonez le référentiel dans un dossier local.
Pour plus d’informations, consultez Cloner un référentiel.
Importer manuellement le contenu du référentiel à l’aide d’un clone local
Téléchargez sap-automation-samples en tant que
.zipfichier.Extrayez l’archive et copiez le contenu à la racine de votre clone local.
Ouvrez le dossier local dans Visual Studio Code et vérifiez que le contrôle de code source affiche les modifications en attente.
Validez le contenu importé, par exemple avec le message Import from GitHub.
Sélectionnez Synchroniser les modifications pour renvoyer les modifications vers Azure Repos.
Choisir la source du code Terraform et Ansible
Vous pouvez exécuter le code SAP Deployment Automation Framework directement à partir de GitHub ou l’importer localement.
Exécuter le code à partir d’un référentiel local
Si vous souhaitez exécuter le code SAP Deployment Automation Framework à partir du projet Azure DevOps local, vous devez créer un référentiel de code distinct et un référentiel de configuration dans le projet Azure DevOps :
-
Nom du référentiel de configuration :
Same as the DevOps Project name. La source est le référentiel sap-automation-bootstrap. -
Nom du référentiel de code :
sap-automation. La source est le référentiel sap-automation. -
Nom de l’exemple et du référentiel de modèles :
sap-samples. La source est le référentiel sap-automation-samples.
Exécuter le code directement à partir de GitHub
Si vous souhaitez exécuter le code directement à partir de GitHub, vous devez fournir des informations d’identification pour qu’Azure DevOps puisse extraire le contenu de GitHub.
Créer la connexion de service GitHub
Pour extraire le code de GitHub, vous avez besoin d’une connexion de service GitHub. Pour plus d’informations, consultez Gérer les connexions de service.
Dans Azure DevOps, accédez aux Paramètres de projet>Pipelines>Connexions de service.
Sélectionnez GitHub comme type de connexion de service.
Dans Configuration OAuth, sélectionnez Azure Pipelines.
Sélectionnez Autoriser et se connecter à GitHub.
Entrez un nom de connexion, par exemple une connexion SDAF à GitHub.
Sélectionnez Accorder une autorisation d’accès à tous les pipelines.
Cliquez sur Enregistrer.
Configurer une inscription d’application pour l’application web (facultatif)
Le cadre d'automatisation peut approvisionner une application web dans le cadre du plan de gestion. Si vous souhaitez utiliser l’application web, créez d’abord une inscription d’application.
Ouvrez Azure Cloud Shell, puis exécutez les commandes suivantes pour votre environnement shell :
Remplacez MGMT par votre environnement, si nécessaire.
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
app_registration_client_secret=$(az ad app credential reset --id $TF_VAR_app_registration_app_id --append --query "password" -o tsv)
echo "Store app_registration_client_secret in a secure location such as Azure Key Vault or an Azure DevOps secret variable. Don't store it in plain text files or source control."
rm manifest.json
Stockez l’ID d’inscription de l’application et la clé secrète client générée dans un emplacement sécurisé, tel qu’Azure Key Vault ou des variables secrètes Azure DevOps. Ne stockez pas les informations d’identification dans les fichiers texte brut, les captures d’écran ou le contrôle de code source.
Créer Azure Pipelines
Azure Pipelines est implémenté en tant que fichiers YAML dans le référentiel. Créez chaque pipeline à partir du chemin YAML correspondant.
- Dans Azure DevOps, accédez à Pipelines et sélectionnez Nouveau pipeline.
- Sélectionnez Azure Repos Git.
- Sélectionnez le référentiel racine (même nom que le projet).
- Sélectionnez Fichier YAML Azure Pipelines existant.
- Pour chaque pipeline du tableau suivant, sélectionnez le chemin YAML, enregistrez le pipeline et renommez-le comme nom d'affichage listé.
| Pipeline | Chemin YAML | Nom d'affichage |
|---|---|---|
| Déploiement du plan de contrôle | pipelines/01-deploy-control-plane.yml |
Déploiement du plan de contrôle |
| Déploiement de zone de charge de travail SAP | pipelines/02-sap-workload-zone.yml |
Déploiement de zone de charge de travail SAP |
| Déploiement du système SAP (infrastructure) | pipelines/03-sap-system-deployment.yml |
Déploiement du système SAP (infrastructure) |
| Acquisition de logiciels SAP | deploy/pipelines/04-sap-software-download.yml |
Acquisition de logiciels SAP |
| Configuration sap et installation logicielle | pipelines/05-DB-and-SAP-installation.yml |
Configuration sap et installation logicielle |
| Suppression du déploiement | pipelines/10-remover-terraform.yml |
Suppression du déploiement |
| Suppression du déploiement à l’aide d’Azure Resource Manager | pipelines/11-remover-arm-fallback.yml |
Suppression du déploiement à l’aide du processeur ARM |
| Suppression du plan de contrôle | pipelines/12-remove-control-plane.yml |
Suppression du plan de contrôle |
| Actualisateur de référentiel | pipelines/20-update-ado-repository.yml |
Actualisateur de référentiel |
Le pipeline de mise à jour du référentiel met à jour votre référentiel Azure DevOps lorsque vous souhaitez consommer des modifications à partir de sap-automation.
Remarque
Utilisez la suppression du déploiement à l’aide du pipeline Azure Resource Manager uniquement comme dernier recours. La suppression de groupes de ressources uniquement peut laisser des restes qui compliquent les redéploiements.
Importer la tâche de nettoyage à partir de Visual Studio Marketplace
Les pipelines utilisent une tâche personnalisée pour effectuer des activités de nettoyage après le déploiement. Vous pouvez installer la tâche personnalisée depuis Post Build Cleanup. Installez-le dans votre organisation Azure DevOps avant d’exécuter les pipelines.
Préparations pour un agent autohébergé
Créez un pool d’agents en accédant aux paramètres organisationnels. Dans la section Pipelines, sélectionnez Pools> d’agentsAjouter un pool. Sélectionnez Auto-hébergé comme type de pool. Nommez le pool de manière cohérente avec l’environnement du plan de contrôle. Par exemple, utilisez
MGMT-WEEU-POOL. Vérifiez que Accorder l'autorisation d'accès à tous les pipelines est sélectionnée et sélectionnez Créer pour créer le pool.Connectez-vous avec le compte d’utilisateur que vous prévoyez d’utiliser dans votre organisation Azure DevOps .
Dans votre page d’accueil, ouvrez vos paramètres utilisateur et sélectionnez Jetons d’accès personnels.
Créez un jeton d’accès personnel avec ces paramètres :
- Pools d’agents : sélectionnez Lecture et gestion.
- Build : sélectionnez Lecture et exécution.
- Code : sélectionnez Lecture et écriture.
- Groupes de variables : sélectionnez Lire, créer et gérer.
Stockez le jeton dans un emplacement sécurisé. Ne stockez pas la valeur du jeton dans les fichiers texte brut, les captures d’écran, les journaux de terminal ou le contrôle de code source.
Configurer des groupes de variables
Les pipelines de déploiement sont configurés pour utiliser un ensemble de valeurs de paramètre prédéfinies définies à l’aide de groupes de variables.
Variables courantes
Les variables courantes sont utilisées par tous les pipelines de déploiement. Ils sont stockés dans un groupe de variables appelé SDAF-General.
Créez un groupe de variables nommé SDAF-General à l’aide de la page Bibliothèque dans la section Pipelines . Ajoutez les variables suivantes :
| Variable | Valeur | Remarques |
|---|---|---|
| Deployment_Configuration_Path | ESPACES DE TRAVAIL | Pour tester l’exemple de configuration, utilisez samples/WORKSPACES plutôt que WORKSPACES. |
| Branche | main | |
| S-Username | <SAP Support user account name> |
|
| Mot de passe S | <SAP Support user password> |
Modifiez le type de variable en secret en sélectionnant l’icône de verrouillage. |
tf_version |
1.6.0 | La version de Terraform à utiliser. Consultez Terraform Download. |
Enregistrez les variables.
Vous pouvez également utiliser l’interface CLI Azure DevOps pour configurer les groupes.
s-user="<SAP Support user account name>"
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 tf_version=1.6.0 --output yaml
Après avoir créé le groupe, ajoutez S-Password une variable secrète dans Azure DevOps au lieu de transmettre la valeur sur la ligne de commande.
N’oubliez pas d’attribuer des autorisations pour tous les pipelines à l’aide des autorisations de pipeline.
Variables spécifiques à l’environnement
Étant donné que chaque environnement peut avoir des informations d’identification de déploiement différentes, vous devez créer un groupe de variables par environnement. Par exemple, utilisez SDAF-MGMT, SDAF-DEVet SDAF-QA.
Créez un groupe de variables nommé SDAF-MGMT pour l’environnement du plan de contrôle à l’aide de la page Bibliothèque de la section Pipelines . Ajoutez les variables suivantes :
| Variable | Valeur | Remarques |
|---|---|---|
| Agent |
Azure Pipelines ou le nom du pool d’agents |
Utilisez le pool d’agents créé dans Préparations pour un agent auto-hébergé. |
| CP_ARM_CLIENT_ID | Service principal application ID |
|
| CP_ARM_OBJECT_ID | Service principal object ID |
|
| CP_ARM_CLIENT_SECRET | Service principal password |
Modifiez le type de variable en secret en sélectionnant l’icône de verrouillage. |
| CP_ARM_SUBSCRIPTION_ID | Target subscription ID |
|
| CP_ARM_TENANT_ID |
Tenant ID pour le principal de service |
|
| AZURE_CONNECTION_NAME | Nom de connexion créé dans Créer une connexion de service | |
| sap_fqdn | Nom de domaine complet SAP, par exemple, sap.contoso.net |
Nécessaire uniquement si le DNS privé n’est pas utilisé. |
| FENCING_SPN_ID |
Service principal application ID pour l’agent de délimitation |
Obligatoire pour les déploiements hautement disponibles qui utilisent un principal de service pour l’agent d’isolation. |
| FENCING_SPN_PWD |
Service principal password pour l’agent de délimitation |
Obligatoire pour les déploiements hautement disponibles qui utilisent un principal de service pour l’agent d’isolation. |
| FENCING_SPN_TENANT |
Service principal tenant ID pour l’agent de délimitation |
Obligatoire pour les déploiements hautement disponibles qui utilisent un principal de service pour l’agent d’isolation. |
| Jeton d’accès personnel | <Personal Access Token> |
Utilisez le jeton personnel créé dans Préparations pour un agent auto-hébergé et définissez le type de variable sur secret en sélectionnant l’icône de verrou. |
| PISCINE | <Agent Pool name> |
Pool d’agents à utiliser pour cet environnement. |
| APP_REGISTRATION_APP_ID | App registration application ID |
Obligatoire si vous déployez l’application web. |
| WEB_APP_CLIENT_SECRET | App registration password |
Obligatoire si vous déployez l’application web. |
| SDAF_GENERAL_GROUP_ID | ID de groupe du groupe SDAF-General | L’ID peut être récupéré à partir du paramètre variableGroupId d’URL lors de l’accès au groupe de variables à l’aide d’un navigateur. Par exemple : variableGroupId=8. |
| WORKLOADZONE_PIPELINE_ID | ID du pipeline SAP workload zone deployment |
L’ID peut être récupéré à partir du paramètre definitionId d’URL de la page de pipeline dans Azure DevOps. Par exemple : definitionId=31. |
| SYSTEM_PIPELINE_ID | ID du pipeline SAP system deployment (infrastructure) |
L’ID peut être récupéré à partir du paramètre definitionId d’URL de la page de pipeline dans Azure DevOps. Par exemple : definitionId=32. |
Enregistrez les variables.
N’oubliez pas d’attribuer des autorisations pour tous les pipelines à l’aide des autorisations de pipeline.
Quand vous utilisez l’application web, vérifiez que le service de build dispose au moins des autorisations de contribution.
Vous pouvez utiliser la fonctionnalité clone pour créer le groupe de variables d’environnement suivant. APP_REGISTRATION_APP_ID, WEB_APP_CLIENT_SECRET, SDAF_GENERAL_GROUP_ID, WORKLOADZONE_PIPELINE_ID et SYSTEM_PIPELINE_ID sont uniquement nécessaires pour le groupe SDAF-MGMT.
Créer une connexion de service
Pour supprimer les ressources Azure, vous avez besoin d’une connexion de service Azure Resource Manager. Pour plus d’informations, consultez Gérer les connexions de service.
Dans Azure DevOps, accédez auxparamètres du projet>pipelines>connexions de service.
Sélectionnez Azure Resource Manager, puis sélectionnez Service principal (manuel).
Saisissez la souscription cible (généralement la souscription du plan de contrôle) et les valeurs du principal de service.
Sélectionnez Vérifier pour valider les informations d’identification.
Entrez un nom de connexion, par exemple
Connection to MGMT subscription.Sélectionnez Accorder une autorisation d’accès à tous les pipelines.
Sélectionnez Vérifier et enregistrer.
Pour plus d’informations sur la création d’un principal de service, consultez Créer un principal de service.
Accorder des permissions de référentiel
La plupart des pipelines ajoutent des fichiers à Azure Repos et nécessitent donc des autorisations d’extraction. Dans Paramètres du projet, sous la section Référentiels , sélectionnez l’onglet Sécurité du référentiel de code source et attribuez des autorisations De contribution à l’objet Build Service.
Accédez aux paramètres du projet>référentiels.
Ouvrez l’onglet Sécurité du référentiel source.
Accorder l’autorisation Contribuer à
Build Service.
Déployer le plan de contrôle
- Si les pipelines nouvellement créés ne sont pas visibles, sélectionnez Récent , puis revenez à Tous.
- Ouvrez le pipeline de déploiement du plan de contrôle pipeline.
- Entrez les noms de configuration de l’outil de déploiement et de la bibliothèque SAP.
- Cliquez sur Exécuter.
- Si vous souhaitez déployer l’application web de configuration, sélectionnez Déployer l’application web de configuration.
Configurer l’agent auto-hébergé Azure DevOps Services manuellement
La configuration manuelle n’est nécessaire que si l’agent Azure DevOps Services n’est pas configuré automatiquement. Vérifiez que le pool d’agents est vide avant de continuer.
Pour vous connecter au déployeur :
Connectez-vous au portail Azure.
Accédez au groupe de ressources qui contient la machine virtuelle de l’éditeur de déploiement.
Connectez-vous à la machine virtuelle à l’aide d’Azure Bastion.
Le nom d’utilisateur par défaut est azureadm.
Sélectionnez Clé privée SSH à partir d’Azure Key Vault.
Sélectionnez l’abonnement qui contient le plan de contrôle.
Sélectionnez le coffre de clés du système de déploiement.
Dans la liste des secrets, sélectionnez le secret qui se termine par -sshkey.
Connectez-vous à la machine virtuelle.
Pour configurer le déployeur, exécutez le script suivant :
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
Pour configurer l’agent Azure DevOps, redémarrez l’outil de déploiement, reconnectez-vous et exécutez le script suivant :
cd ~/Azure_SAP_Automated_Deployment/
$DEPLOYMENT_REPO_PATH/deploy/scripts/setup_ado.sh
Acceptez la licence et, lorsque vous êtes invité à entrer l’URL du serveur, entrez l’URL du projet Azure DevOps que vous avez enregistrée dans Créer un projet. Pour l’authentification, sélectionnez PAT et entrez la valeur du jeton d’accès personnel (PAT) que vous avez créée dans Préparations pour un agent auto-hébergé.
Lorsque vous y êtes invité, entrez le nom du pool d’agents que vous avez créé dans Préparations pour un agent auto-hébergé (par exemple). MGMT-WEEU-POOL Acceptez le nom de l’agent par défaut et le nom du dossier de travail par défaut. L’agent est maintenant configuré et démarre.
Déployer l’application web du plan de contrôle
La sélection du deploy the web app infrastructure paramètre lorsque vous exécutez le pipeline de déploiement du plan de contrôle provisionne l’infrastructure nécessaire pour l’hébergement de l’application web. Le pipeline Déployer une application web publie le logiciel de l’application sur cette infrastructure.
- Exécutez le pipeline de déploiement du plan de contrôle avec
deploy the web app infrastructureactivé. - Attendez la fin du déploiement.
- Ouvrez l’onglet Extensions et terminez la configuration après le déploiement.
- Mettez à jour les valeurs d’enregistrement de l’application
reply-url.
Suite à l’exécution du pipeline du plan de contrôle, une partie de l’URL de l’application web nécessaire est stockée dans une variable nommée WEBAPP_URL_BASE dans votre groupe de variables spécifique à l’environnement. À tout moment, vous pouvez mettre à jour les URL de l’application web d’application inscrite à l’aide de la commande suivante.
Cette commande met à jour l’URL de la page d’accueil de l’enregistrement de l’application et les URI de redirection pour l’application web du plan de contrôle déployée.
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
AttribuezLecteur au niveau de la souscription à l’identité gérée attribuée au système du service d’application :
- Ouvrez la ressource App Service.
- Sélectionnez Identité.
- Sur Système attribué, sélectionnez attributions de rôles Azure>Ajouter une attribution de rôle.
- Sélectionnez l'étendue Abonnement et le rôle Lecteur, puis sélectionnez Enregistrer.
Vous devez maintenant être en mesure de visiter l’application web et de l’utiliser pour déployer des zones de charge de travail SAP et une infrastructure système SAP.