Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps stroomlijnt het implementatieproces door pijplijnen te bieden die u kunt uitvoeren om de implementatie van de infrastructuur en de configuratie- en SAP-installatieactiviteiten uit te voeren.
U kunt Azure-opslagplaatsen gebruiken om uw configuratiebestanden op te slaan en Azure Pipelines te gebruiken om de infrastructuur en de SAP-toepassing te implementeren en configureren.
Registreren voor Azure DevOps Services
Als u Azure DevOps Services wilt gebruiken, hebt u een Azure DevOps-organisatie nodig. Een organisatie wordt gebruikt om groepen gerelateerde projecten te verbinden. Gebruik uw werk- of schoolaccount om uw organisatie automatisch te verbinden met uw Microsoft Entra-id. Als u een account wilt maken, opent u Azure DevOps en meldt u zich aan of maakt u een nieuw account.
Azure DevOps Services configureren voor SAP Deployment Automation Framework
U kunt het volgende script gebruiken om een eenvoudige installatie van Azure DevOps Services voor SAP Deployment Automation Framework uit te voeren.
Open PowerShell ISE en kopieer het volgende script en werk de parameters bij zodat deze overeenkomen met uw omgeving.
# 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"
Voer het script uit en volg de instructies. Het script opent browservensters voor verificatie en voor het uitvoeren van taken in het Azure DevOps-project.
U kunt ervoor kiezen om de code rechtstreeks vanuit GitHub uit te voeren of u kunt een kopie van de code importeren in uw Azure DevOps-project.
Als u wilt controleren of het project is gemaakt, gaat u naar de Azure DevOps-portal en selecteert u het project. Zorg ervoor dat de opslagplaats is gevuld en dat de pijplijnen zijn gemaakt.
Belangrijk
Voer de volgende stappen uit op uw lokale werkstation. Zorg er ook voor dat u de nieuwste Azure CLI hebt geïnstalleerd door de opdracht uit te az upgrade voeren.
Azure DevOps Services-artefacten configureren voor een nieuwe workloadzone
Gebruik het volgende script om de artefacten te implementeren die nodig zijn om een nieuwe workloadzone te ondersteunen. Met dit proces maakt u de variabelegroep en de serviceverbinding in Azure DevOps en, optioneel, de service-principal voor de implementatie.
Open PowerShell ISE en kopieer het volgende script en werk de parameters bij zodat deze overeenkomen met uw omgeving.
# 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
Een voorbeeldconfiguratie voor het besturingsvlak maken
U kunt de Create Sample Deployer Configuration pijplijn uitvoeren om een voorbeeldconfiguratie voor het besturingsvlak te maken. Wanneer deze wordt uitgevoerd, kiest u de juiste Azure-regio. U kunt ook bepalen of u Azure Firewall, Azure Bastion, de Configuration App Service en andere onderdelen wilt implementeren.
Handmatige configuratie van Azure DevOps Services voor SAP Deployment Automation Framework
U kunt Azure DevOps Services handmatig configureren voor SAP Deployment Automation Framework.
Een nieuw project maken
U kunt Azure-opslagplaatsen gebruiken om de code op te slaan vanuit de Sap-automation GitHub-opslagplaats en de omgevingsconfiguratiebestanden.
Open Azure DevOps en maak een nieuw project door Nieuw project te selecteren en de projectdetails in te voeren. Het project bevat de Azure Repos-broncontroleopslagplaats en Azure Pipelines voor het uitvoeren van implementatieactiviteiten.
Als u Nieuw project niet ziet, controleert u of u gemachtigd bent om nieuwe projecten in de organisatie te maken.
Noteer de URL van het project.
De opslagplaats importeren
Importeer om te beginnen de SAP Deployment Automation Framework Bootstrap GitHub-repository in Azure Repos.
Ga naar de sectie Opslagplaatsen en selecteer Een opslagplaats importeren. Importeer de https://github.com/Azure/sap-automation-bootstrap.git opslagplaats in Azure DevOps. Zie Een opslagplaats importeren voor meer informatie.
Als u een opslagplaats niet kunt importeren, kunt u de opslagplaats handmatig maken. Vervolgens kunt u de inhoud importeren uit de GitHub Bootstrap-opslagplaats voor SAP Deployment Automation Framework.
De opslagplaats maken voor handmatig importeren
Voer deze stap alleen uit als u de opslagplaats niet rechtstreeks kunt importeren.
Als u de opslagplaats voor werkruimten wilt maken, selecteert u in de sectie Opslagplaatsen onder Project-instellingende optie Maken.
Kies de opslagplaats, voer Git in en geef een naam op voor de opslagplaats. Gebruik bijvoorbeeld sap-configuratieopslagplaats.
De opslagplaats klonen
Als u een uitgebreidere bewerkingsfunctie van de inhoud wilt bieden, kunt u de opslagplaats klonen naar een lokale map en de inhoud lokaal bewerken.
Als u de opslagplaats wilt klonen naar een lokale map, selecteert u Klonen in de sectie Opslagplaatsen van de portal onder Bestanden. Zie Een opslagplaats klonen voor meer informatie.
De inhoud van de opslagplaats handmatig importeren met behulp van een lokale kloon
U kunt de inhoud ook handmatig downloaden uit de SAP Deployment Automation Framework-opslagplaats en deze toevoegen aan uw lokale kloon van de Azure DevOps-opslagplaats.
Ga naar de https://github.com/Azure/SAP-automation-samples opslagplaats en download de inhoud van de opslagplaats als een .zip-bestand. Selecteer Code en kies ZIP downloaden.
Kopieer de inhoud van het .zip bestand naar de hoofdmap van uw lokale kloon.
Open de lokale map in Visual Studio Code. U ziet dat wijzigingen moeten worden gesynchroniseerd met de indicator door het bronbeheerpictogram dat hier wordt weergegeven.
Selecteer het broncodebeheerpictogram en geef een bericht op over de wijziging. Voer bijvoorbeeld Importeren uit GitHub in en selecteer Ctrl+Enter om de wijzigingen door te voeren. Selecteer vervolgens Wijzigingen synchroniseren om de wijzigingen terug te synchroniseren naar de opslagplaats.
De bron voor de Terraform- en Ansible-code kiezen
U kunt de SAP Deployment Automation Framework-code rechtstreeks vanuit GitHub uitvoeren of lokaal importeren.
De code uitvoeren vanuit een lokale opslagplaats
Als u de SAP Deployment Automation Framework-code wilt uitvoeren vanuit het lokale Azure DevOps-project, moet u een afzonderlijke codeopslagplaats en een configuratieopslagplaats maken in het Azure DevOps-project:
-
Naam van configuratieopslagplaats:
Same as the DevOps Project name. Bron ishttps://github.com/Azure/sap-automation-bootstrap.git. -
Naam van codeopslagplaats:
sap-automation. Bron ishttps://github.com/Azure/sap-automation.git. -
Naam van voorbeeld- en sjabloonopslagplaats:
sap-samples. Bron ishttps://github.com/Azure/sap-automation-samples.git.
De code rechtstreeks vanuit GitHub uitvoeren
Als u de code rechtstreeks vanuit GitHub wilt uitvoeren, moet u referenties opgeven voor Azure DevOps om de inhoud uit GitHub te kunnen ophalen.
De GitHub-serviceverbinding maken
Als u de code wilt ophalen uit GitHub, hebt u een GitHub-serviceverbinding nodig. Zie Serviceverbindingen beheren voor meer informatie.
Als u de serviceverbinding wilt maken, gaat u naar Projectinstellingen en gaat u in de sectie Pijplijnen naar Serviceverbindingen.
Selecteer GitHub als serviceverbindingstype. Selecteer Azure Pipelines in de vervolgkeuzelijst OAuth-configuratie .
Selecteer Autoriseren om u aan te melden bij GitHub.
Voer een serviceverbindingsnaam in, bijvoorbeeld SDAF-verbinding met GitHub. Zorg ervoor dat het selectievakje Toegang verlenen aan alle pijplijnen is ingeschakeld. Selecteer Opslaan om de serviceverbinding op te slaan.
De app-serviceregistratie instellen (optioneel)
Het automatiseringsframework richt eventueel een web-app in als onderdeel van het besturingsvlak om u te helpen met de SAP-werkbelastingzone en systeemconfiguratiebestanden. Als u de web-app wilt gebruiken, moet u eerst een app-registratie maken voor verificatiedoeleinden. Open Azure Cloud Shell en voer de volgende opdrachten uit.
Vervang MGMT indien nodig door uw omgeving.
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
Sla de app-registratie-id en wachtwoordwaarden op voor later gebruik.
Azure Pipelines maken
Azure Pipelines worden geïmplementeerd als YAML-bestanden. Ze worden opgeslagen in de map deploy/pipelines in de opslagplaats.
Pijplijn voor implementatie van controlevlak
Maak de implementatiepijplijn voor het besturingsvlak. Selecteer In de sectie Pijplijnen de optie Nieuwe pijplijn. Selecteer Azure Repos Git als de bron voor uw code. Configureer uw pijplijn voor het gebruik van een bestaand YAML-bestand voor Azure Pipelines. Geef de pijplijn op met de volgende instellingen:
| Configuratie | Waarde |
|---|---|
| Repository | 'Hoofdopslagplaats' (hetzelfde als projectnaam) |
| Afdeling/Filiaal | voornaamste |
| Pad | pipelines/01-deploy-control-plane.yml |
| Naam | Uitrol van controlevlak |
Sla de pijplijn op. Als u Opslaan wilt zien, selecteert u de dubbele punthaak naast Uitvoeren. Ga naar de sectie Pijplijnen en selecteer de pijplijn. Kies Naam wijzigen/Verplaatsen in het menu met het beletselteken aan de rechterkant en hernoem de pijplijn naar Besturingsvlak-implementatie.
Implementatiepijplijn voor SAP-workloadzones
Maak de pijplijn voor de SAP-workloadzone. Selecteer In de sectie Pijplijnen de optie Nieuwe pijplijn. Selecteer Azure Repos Git als de bron voor uw code. Configureer uw pijplijn voor het gebruik van een bestaand YAML-bestand voor Azure Pipelines. Geef de pijplijn op met de volgende instellingen:
| Configuratie | Waarde |
|---|---|
| Repository | 'Hoofdopslagplaats' (hetzelfde als projectnaam) |
| Afdeling/Filiaal | voornaamste |
| Pad | pipelines/02-sap-workload-zone.yml |
| Naam | Implementatie van SAP-workloadzone |
Sla de pijplijn op. Als u Opslaan wilt zien, selecteert u de dubbele punthaak naast Uitvoeren. Ga naar de sectie Pijplijnen en selecteer de pijplijn. Kies Naam wijzigen/Verplaatsen in het beletseltekenmenu aan de rechterkant en wijzig de naam van de pijplijn als implementatie van de SAP-workloadzone.
Pijplijn voor SAP-systeemimplementatie
Maak de SAP-systeemimplementatiepijplijn. Selecteer In de sectie Pijplijnen de optie Nieuwe pijplijn. Selecteer Azure Repos Git als de bron voor uw code. Configureer uw pijplijn voor het gebruik van een bestaand YAML-bestand voor Azure Pipelines. Geef de pijplijn op met de volgende instellingen:
| Configuratie | Waarde |
|---|---|
| Repository | 'Hoofdopslagplaats' (hetzelfde als projectnaam) |
| Afdeling/Filiaal | voornaamste |
| Pad | pipelines/03-sap-system-deployment.yml |
| Naam | SAP-systeemimplementatie (infrastructuur) |
Sla de pijplijn op. Als u Opslaan wilt zien, selecteert u de dubbele punthaak naast Uitvoeren. Ga naar de sectie Pijplijnen en selecteer de pijplijn. Kies Naam wijzigen/Verplaatsen in het beletseltekenmenu aan de rechterkant en wijzig de naam van de pijplijn als SAP-systeemimplementatie (infrastructuur).
SAP-pijplijn voor het verkrijgen van software
Maak de SAP-software-overnamepijplijn. Selecteer In de sectie Pijplijnen de optie Nieuwe pijplijn. Selecteer Azure Repos Git als de bron voor uw code. Configureer uw pijplijn voor het gebruik van een bestaand YAML-bestand voor Azure Pipelines. Geef de pijplijn op met de volgende instellingen:
| Configuratie | Waarde |
|---|---|
| Repository | 'Hoofdopslagplaats' (hetzelfde als projectnaam) |
| Afdeling/Filiaal | voornaamste |
| Pad | deploy/pipelines/04-sap-software-download.yml |
| Naam | SAP-softwareverwerving |
Sla de pijplijn op. Als u Opslaan wilt zien, selecteert u de dubbele punthaak naast Uitvoeren. Ga naar de sectie Pijplijnen en selecteer de pijplijn. Kies Naam wijzigen/Verplaatsen in het beletseltekenmenu aan de rechterkant en wijzig de naam van de pijplijn als SAP-software-overname.
SAP-configuratie- en software-installatiepijplijn
Maak de SAP-configuratie- en software-installatiepijplijn. Selecteer In de sectie Pijplijnen de optie Nieuwe pijplijn. Selecteer Azure Repos Git als de bron voor uw code. Configureer uw pijplijn voor het gebruik van een bestaand YAML-bestand voor Azure Pipelines. Geef de pijplijn op met de volgende instellingen:
| Configuratie | Waarde |
|---|---|
| Repository | 'Hoofdopslagplaats' (hetzelfde als projectnaam) |
| Afdeling/Filiaal | voornaamste |
| Pad | pipelines/05-DB-and-SAP-installation.yml |
| Naam | Configuratie en SAP-installatie |
Sla de pijplijn op. Als u Opslaan wilt zien, selecteert u de dubbele punthaak naast Uitvoeren. Ga naar de sectie Pijplijnen en selecteer de pijplijn. Kies Naam wijzigen/Verplaatsen in het beletseltekenmenu aan de rechterkant en wijzig de naam van de pijplijn als SAP-configuratie en software-installatie.
Implementatieverwijderingspijplijn
Maak de pipeline voor het verwijderen van implementaties. Selecteer In de sectie Pijplijnen de optie Nieuwe pijplijn. Selecteer Azure Repos Git als de bron voor uw code. Configureer uw pijplijn voor het gebruik van een bestaand YAML-bestand voor Azure Pipelines. Geef de pijplijn op met de volgende instellingen:
| Configuratie | Waarde |
|---|---|
| Repository | 'Hoofdopslagplaats' (hetzelfde als projectnaam) |
| Afdeling/Filiaal | voornaamste |
| Pad | pipelines/10-remover-terraform.yml |
| Naam | Implementatie verwijderen |
Sla de pijplijn op. Als u Opslaan wilt zien, selecteert u de dubbele punthaak naast Uitvoeren. Ga naar de sectie Pijplijnen en selecteer de pijplijn. Kies Naam wijzigen/Verplaatsen in het menu met het beletselteken aan de rechterkant en wijzig de naam van de pijplijn als implementatieverwijdering.
Verwijderingspijplijn van control plane
Maak de verwijderingspipeline voor de implementatie van het controlevlak. Selecteer In de sectie Pijplijnen de optie Nieuwe pijplijn. Selecteer Azure Repos Git als de bron voor uw code. Configureer uw pijplijn voor het gebruik van een bestaand YAML-bestand voor Azure Pipelines. Geef de pijplijn op met de volgende instellingen:
| Configuratie | Waarde |
|---|---|
| Repository | 'Hoofdopslagplaats' (hetzelfde als projectnaam) |
| Afdeling/Filiaal | voornaamste |
| Pad | pipelines/12-remove-control-plane.yml |
| Naam | Verwijdering van controlevlak |
Sla de pijplijn op. Als u Opslaan wilt zien, selecteert u de dubbele punthaak naast Uitvoeren. Ga naar de sectie Pijplijnen en selecteer de pijplijn. Kies Naam wijzigen/Verplaatsen in het menu met het beletselteken aan de rechterkant en wijzig de naam van de pijplijn als verwijdering van het besturingsvlak.
Pijplijn voor het verwijderen van implementaties met behulp van Azure Resource Manager
Maak de Azure Resource Manager-pijplijn voor het verwijderen van de implementatie. Selecteer In de sectie Pijplijnen de optie Nieuwe pijplijn. Selecteer Azure Repos Git als de bron voor uw code. Configureer uw pijplijn voor het gebruik van een bestaand YAML-bestand voor Azure Pipelines. Geef de pijplijn op met de volgende instellingen:
| Configuratie | Waarde |
|---|---|
| Repository | 'Hoofdopslagplaats' (hetzelfde als projectnaam) |
| Afdeling/Filiaal | voornaamste |
| Pad | pipelines/11-remover-arm-fallback.yml |
| Naam | Implementatie verwijderen met Behulp van Azure Resource Manager |
Sla de pijplijn op. Als u Opslaan wilt zien, selecteert u de dubbele punthaak naast Uitvoeren. Ga naar de sectie Pijplijnen en selecteer de pijplijn. Kies Naam wijzigen/Verplaatsen in het beletseltekenmenu aan de rechterkant en wijzig de naam van de pijplijn als implementatieverwijdering met behulp van ARM-processor.
Opmerking
Gebruik deze pijplijn alleen als laatste redmiddel. Als u alleen de resourcegroepen verwijdert, blijven er restanten achter die herimplementaties kunnen bemoeilijken.
Update-pijplijn voor repositories
Maak de updater-pijplijn voor de opslagplaats. Selecteer In de sectie Pijplijnen de optie Nieuwe pijplijn. Selecteer Azure Repos Git als de bron voor uw code. Configureer uw pijplijn voor het gebruik van een bestaand YAML-bestand voor Azure Pipelines. Geef de pijplijn op met de volgende instellingen:
| Configuratie | Waarde |
|---|---|
| Repository | 'Hoofdopslagplaats' (hetzelfde als projectnaam) |
| Afdeling/Filiaal | voornaamste |
| Pad | pipelines/20-update-ado-repository.yml |
| Naam | Updater van opslagplaats |
Sla de pijplijn op. Als u Opslaan wilt zien, selecteert u de dubbele punthaak naast Uitvoeren. Ga naar de sectie Pijplijnen en selecteer de pijplijn. Kies Naam wijzigen/Verplaatsen in het menu met de drie puntjes aan de rechterkant en wijzig de naam van de pijplijn naar Repository updater.
Deze pijplijn moet worden gebruikt voor wanneer er een update is in de sap-automation repository die u wilt gebruiken.
De opschoontaak importeren vanuit Visual Studio Marketplace
De pijplijnen gebruiken een aangepaste taak om opschoonactiviteiten uit te voeren na de implementatie. U kunt de aangepaste taak installeren vanuit Post Build Cleanup. Installeer het in je Azure DevOps-organisatie voordat je de pipelines uitvoert.
Voorbereidingen voor een zelf-gehoste agent
Maak een agentgroep door naar Organisatie-instellingen te gaan. Selecteer in de sectie PijplijnenAgentgroepen>. Selecteer Zelf-hostend als het pooltype. Geef de pool een naam die past bij de omgeving van het besturingsvlak. Gebruik bijvoorbeeld
MGMT-WEEU-POOL. Zorg ervoor dat toegangsmachtigingen verlenen aan alle pijplijnen is geselecteerd en selecteer Maken om de pool te maken.Meld u aan met het gebruikersaccount dat u wilt gebruiken in uw Azure DevOps-organisatie .
Open uw gebruikersinstellingen op de startpagina en selecteer Persoonlijke toegangstokens.
Maak een persoonlijk toegangstoken met deze instellingen:
Agentpools: Selecteer Lezen en beheren.
Build: Selecteer Lezen en uitvoeren.
Code: Selecteer Lezen en schrijven.
Variabelegroepen: Selecteer Lezen, maken en beheren.
Noteer de gemaakte tokenwaarde.
Variabeledefinities
De implementatiepijplijnen zijn geconfigureerd voor het gebruik van een set vooraf gedefinieerde parameterwaarden die zijn gedefinieerd met behulp van variabelegroepen.
Algemene variabelen
Algemene variabelen worden gebruikt door alle implementatiepijplijnen. Ze worden opgeslagen in een variabelegroep met de naam SDAF-General.
Maak een nieuwe variabelegroep met de naam SDAF-General met behulp van de pagina Bibliotheek in de sectie Pijplijnen . Voeg de volgende variabelen toe:
| Veranderlijk | Waarde | Opmerkingen |
|---|---|---|
| Implementatie_Configuratie_Pad | WERKRUIMTEN | Gebruik samples/WORKSPACES voor het testen van de voorbeeldconfiguratie in plaats van WERKRUIMTEN. |
| Afdeling/Filiaal | voornaamste | |
| S-gebruikersnaam | <SAP Support user account name> |
|
| S-wachtwoord | <SAP Support user password> |
Wijzig het variabeletype in geheim door het vergrendelingspictogram te selecteren. |
tf_version |
1.6.0 | De Terraform-versie die moet worden gebruikt. Zie Terraform downloaden. |
Sla de variabelen op.
U kunt ook de Azure DevOps CLI gebruiken om de groepen in te stellen.
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
Vergeet niet om machtigingen toe te wijzen voor alle pijplijnen met behulp van pijplijnmachtigingen.
Omgevingsspecifieke variabelen
Omdat elke omgeving mogelijk verschillende implementatiereferenties heeft, moet u per omgeving een variabelegroep maken. Gebruik bijvoorbeeld SDAF-MGMT,SDAF-DEV en SDAF-QA.
Maak een nieuwe variabelegroep met de naam SDAF-MGMT voor de omgeving van het besturingsvlak met behulp van de pagina Bibliotheek in de sectie Pijplijnen . Voeg de volgende variabelen toe:
| Veranderlijk | Waarde | Opmerkingen |
|---|---|---|
| Vertegenwoordiger |
Azure Pipelines of de naam van de agentgroep |
Deze pool wordt in een latere stap gemaakt. |
| CP_ARM_CLIENT_ID | Service principal application ID |
|
| CP_ARM_OBJECT_ID | Service principal object ID |
|
| CP_ARM_CLIENT_SECRET | Service principal password |
Wijzig het variabeletype in geheim door het vergrendelingspictogram te selecteren. |
| CP_ARM_SUBSCRIPTION_ID | Target subscription ID |
|
| CP_ARM_TENANT_ID |
Tenant ID voor de service-principal |
|
| AZURE_CONNECTION_NAME | Eerder gemaakte verbindingsnaam | |
| sap_fqdn | Volledig gekwalificeerde SAP-domeinnaam, bijvoorbeeld sap.contoso.net |
Alleen nodig als privé-DNS niet wordt gebruikt. |
| FENCING_SPN_ID |
Service principal application ID voor de afschermingsagent |
Vereist voor implementaties met hoge beschikbaarheid die gebruikmaken van een service-principal voor de fencing-agent. |
| FENCING_SPN_PWD |
Service principal password voor de afschermingsagent |
Vereist voor implementaties met hoge beschikbaarheid die gebruikmaken van een service-principal voor de fencing-agent. |
| FENCING_SPN_TENANT |
Service principal tenant ID voor de afschermingsagent |
Vereist voor implementaties met hoge beschikbaarheid die gebruikmaken van een service-principal voor de fencing-agent. |
| AAIEN | <Personal Access Token> |
Gebruik het persoonlijke token dat in de vorige stap is gedefinieerd. |
| POEL | <Agent Pool name> |
De agentgroep die voor deze omgeving moet worden gebruikt. |
| APP_REGISTRATION_APP_ID | App registration application ID |
Vereist als de web-app wordt geïmplementeerd. |
| WEB_APP_KLANTENGEHEIM | App registration password |
Vereist als de web-app wordt geïmplementeerd. |
| SDAF_GENERAL_GROUP_ID | De groeps-id voor de SDAF-General groep | De id kan worden opgehaald uit de URL-parameter variableGroupId bij het openen van de variabelegroep met behulp van een browser. Voorbeeld: variableGroupId=8. |
| WORKLOADZONE_PIPELINE_ID | De ID voor de SAP workload zone deployment pijplijn |
De id kan worden opgehaald uit de URL-parameter definitionId van de pijplijnpagina in Azure DevOps. Voorbeeld: definitionId=31. |
| SYSTEM_PIPELINE_ID | De ID voor de SAP system deployment (infrastructure) pijplijn |
De id kan worden opgehaald uit de URL-parameter definitionId van de pijplijnpagina in Azure DevOps. Voorbeeld: definitionId=32. |
Sla de variabelen op.
Vergeet niet om machtigingen toe te wijzen voor alle pijplijnen met behulp van pijplijnmachtigingen.
Wanneer u de web-app gebruikt, moet u ervoor zorgen dat de buildservice ten minste de machtigingen Bijdragen heeft.
U kunt de kloonfunctionaliteit gebruiken om de volgende omgevingsvariabelegroep te maken. APP_REGISTRATION_APP_ID, WEB_APP_CLIENT_SECRET, SDAF_GENERAL_GROUP_ID, WORKLOADZONE_PIPELINE_ID en SYSTEM_PIPELINE_ID zijn alleen nodig voor de SDAF-MGMT groep.
Een serviceverbinding maken
Als u de Azure-resources wilt verwijderen, hebt u een Azure Resource Manager-serviceverbinding nodig. Zie Serviceverbindingen beheren voor meer informatie.
Als u de serviceverbinding wilt maken, gaat u naar Projectinstellingen. Selecteer serviceverbindingen in de sectie Pijplijnen.
Selecteer Azure Resource Manager als het serviceverbindingstype en de service-principal (handmatig) als verificatiemethode. Voer het doelabonnement in. Dit is gebruikelijk het abonnement voor het controleplatform. Voer de details van de service-principal in. Selecteer Verifiëren om de referenties te valideren. Zie Een service-principal maken voor meer informatie over het maken van een service-principal.
Voer een serviceverbindingsnaam in, bijvoorbeeld Connection to MGMT subscription. Zorg ervoor dat het selectievakje Toegang verlenen aan alle pijplijnen is ingeschakeld. Selecteer Verifiëren en opslaan om de serviceverbinding op te slaan.
Machtigingen
De meeste pijplijnen voegen bestanden toe aan de Azure-opslagplaatsen en vereisen daarom pull-machtigingen. Selecteer in projectinstellingen, onder de sectie Opslagplaatsen , het tabblad Beveiliging van de opslagplaats voor broncode en wijs bijdragen-machtigingen toe aan de Build Service.
Implementeer het controlevlak
Nieuw gemaakte pijplijnen zijn mogelijk niet zichtbaar in de standaardweergave. Selecteer het tabblad Recent en ga terug naar Alle tabbladen om de nieuwe pijplijnen weer te geven.
Selecteer de implementatiepijplijn van het besturingsvlak en voer de configuratienamen in voor de implementatiefunctie en de SAP-bibliotheek. Selecteer Uitvoeren om het besturingsvlak te implementeren. Schakel het selectievakje De configuratiewebtoepassing implementeren in als u de configuratieweb-app wilt instellen.
De zelf-hostende Agent van Azure DevOps Services handmatig configureren
Handmatige configuratie is alleen nodig als de Azure DevOps Services-agent niet automatisch wordt geconfigureerd. Controleer of de agentgroep leeg is voordat u verdergaat.
Verbinding maken met de deployer:
Meld u aan bij het Azure-portaal.
Ga naar de resourcegroep die de virtuele machine van de deployer bevat.
Maak verbinding met de virtuele machine met behulp van Azure Bastion.
De standaardgebruikersnaam is azureadm.
Selecteer persoonlijke SSH-sleutel in Azure Key Vault.
Selecteer het abonnement dat het controlevlak bevat.
Selecteer de sleutelkluis van de deployer.
Selecteer in de lijst met geheimen het geheim dat eindigt op -sshkey.
Maak verbinding met de virtuele machine.
Voer het volgende script uit om de implementatie te configureren:
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
Start de deployer opnieuw op, maak opnieuw verbinding en voer het volgende script uit om de Azure DevOps-agent in te stellen:
cd ~/Azure_SAP_Automated_Deployment/
$DEPLOYMENT_REPO_PATH/deploy/scripts/setup_ado.sh
Accepteer de licentie en voer, wanneer u om de server-URL wordt gevraagd, de URL in die u hebt vastgelegd toen u het Azure DevOps-project maakte. Voor verificatie selecteert u PAT en voert u de tokenwaarde uit de vorige stap in.
Wanneer u hierom wordt gevraagd, voert u de naam van de groep van toepassingen in die u in de vorige stap hebt gemaakt. Accepteer de standaardagentnaam en de standaardnaam van de werkmap. De agent is nu geconfigureerd en wordt gestart.
De webapplicatie voor de control plane implementeren
Als u de deploy the web app infrastructure parameter selecteert wanneer u de pijplijn voor de implementatie van het besturingsvlak uitvoert, wordt de infrastructuur die nodig is voor het hosten van de web-app, geïmplementeerd. De pijplijn Web-app implementeren publiceert de software van de toepassing naar die infrastructuur.
Wacht tot de implementatie is voltooid. Selecteer het tabblad Extensies en volg de instructies om de configuratie te voltooien. Werk de reply-url waarden voor de app-registratie bij.
Als gevolg van de uitvoering van de pipeline voor het besturingsvlak wordt een noodzakelijk deel van de webapp-URL opgeslagen in een variabele genaamd WEBAPP_URL_BASE in uw variabelegroep die specifiek is voor de omgeving. U kunt de URL's van de geregistreerde toepassingsweb-app op elk gewenst moment bijwerken met behulp van de volgende opdracht.
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
U moet ook lezermachtigingen verlenen aan de door het app service-systeem toegewezen beheerde identiteit. Ga naar de App Service-resource. Selecteer Identiteit aan de linkerkant. Selecteer op het tabblad Toegewezen systeemde optie Azure-roltoewijzingen>Roltoewijzing toevoegen. Selecteer Abonnement als bereik en Lezer als de rol. Vervolgens selecteer Opslaan. Zonder deze stap werkt de vervolgkeuzelijst van de web-app niet.
U moet nu de web-app kunnen bezoeken en deze gebruiken om SAP-werkbelastingzones en SAP-systeeminfrastructuur te implementeren.