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.
In dit artikel wordt beschreven hoe u Azure DevOps Services configureert om SAP Deployment Automation Framework-pijplijnen uit te voeren. Deze configuratie helpt u bij het standaardiseren en herhalen van sap-infrastructuurimplementatie, softwareverwerving en configuratietaken in omgevingen.
U stelt de Azure DevOps-projectassets, serviceverbindingen, pijplijnen, machtigingen en variabelegroepen in die het framework nodig heeft. Nadat u deze stappen hebt voltooid, kunt u implementaties en lopende SAP-omgevingsbewerkingen uitvoeren vanuit Azure DevOps Services.
Een configuratiemethode kiezen
Gebruik deze tabel om het installatiepad voor uw omgeving te kiezen.
| Methode | Het beste wanneer | Hoofdresultaat |
|---|---|---|
| Geautomatiseerde configuratiescripts | U wilt projectartefacten snel opstarten en frameworkstandaarden gebruiken. | Scripts maken het Azure DevOps-project, de serviceverbindingen en de basisimplementatie-assets. |
| Handmatige Azure DevOps-configuratie | U hebt volledige controle nodig over het importeren van opslagplaatsen, serviceverbindingen en pijplijndefinities. | U maakt en configureert stap voor stap elk Azure DevOps-onderdeel. |
Vereiste voorwaarden
- Een Azure-abonnement en machtigingen om resources, beheerde identiteiten en serviceprincipalen te maken.
- Een Azure DevOps-organisatie waar u projecten, pijplijnen, serviceverbindingen en variabele groepen kunt maken.
- Azure CLI is geïnstalleerd en bijgewerkt op uw lokale werkstation (
az upgrade). - Windows PowerShell voor het uitvoeren van de opgegeven scripts.
- Referenties voor SAP-ondersteuning (S-user) als u van plan bent verwervingspijplijnen voor SAP-software uit te voeren.
Aanmelden bij 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 configureren met behulp van automatiseringsscripts
Gebruik deze procedure als u wilt dat de frameworkscripts het Azure DevOps-project, serviceverbindingen en basislijnartefacten voor het besturingsvlak maken.
Open PowerShell en kopieer het volgende script.
Werk alle parameterwaarden bij zodat deze overeenkomt met uw omgeving.
Voer het script uit. Het script opent browservensters voor verificatie en voor taken in Azure DevOps.
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 upgradevoeren.# 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"Valideer in Azure DevOps dat:
- Het project werd gecreëerd
- De repository is gevuld
- De pijplijnen zijn gemaakt
Bepaal waar Terraform- en Ansible-code wordt uitgevoerd:
- Voer code rechtstreeks vanuit GitHub uit.
- Importeer en voer code uit vanuit opslagplaatsen in uw Azure DevOps-project.
Artefacten configureren voor een nieuwe workloadzone
Voer deze procedure uit nadat het besturingsvlakproject beschikbaar is.
- Open PowerShell en kopieer het volgende script.
- Werk alle parameterwaarden bij zodat deze overeenkomt met uw omgeving.
- Voer het script uit.
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.
# 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
Controleer in Azure DevOps of de variabelegroep en serviceverbinding voor de werkbelastingzone zijn gemaakt.
Een voorbeeldconfiguratie voor het besturingsvlak maken
Als u een eerste configuratie van het besturingsvlak wilt genereren, voert u de pijplijn Sample Deployer Configuration uit.
- Open de pijplijn in Azure DevOps en selecteer Uitvoeren.
- Selecteer de juiste Azure-regio.
- Stel optionele onderdeelvlagmen in, zoals Azure Firewall, Azure Bastion en Configuration App Service.
- Controleer of de gegenereerde voorbeeldbestanden zijn toegevoegd aan uw configuratieopslagplaats.
Handmatige configuratie van Azure DevOps Services voor SAP Deployment Automation Framework
Gebruik dit pad als u projectassets handmatig wilt maken en configureren in plaats van de automatiseringsscripts te gebruiken.
Een nieuw project maken
Open Azure DevOps.
Selecteer Nieuw project en voer projectdetails in.
Het project bevat Azure-opslagplaatsen en Azure Pipelines voor implementatieactiviteiten.
Als u Nieuw project niet ziet, controleert u of u gemachtigd bent om projecten in de organisatie te maken.
Noteer de project-URL. U gebruikt deze URL in De zelf-hostende Azure DevOps Services-agent handmatig configureren.
De opslagplaats importeren
- Ga naar Opslagplaatsen en selecteer Een opslagplaats importeren.
- Importeer de sap-automation-bootstrap-opslagplaats.
- Als het importeren mislukt, gaat u verder met het maken van de opslagplaats voor handmatig importeren en de inhoud van de opslagplaats handmatig importeren met behulp van een lokale kloon.
Zie Een opslagplaats importeren voor meer informatie.
De opslagplaats maken voor handmatig importeren
Voer deze stap alleen uit als direct importeren niet beschikbaar is.
- In Opslagplaatsen, onder Project-instellingen, selecteer Maken.
- Selecteer opslagplaatstype Git.
- Voer een naam in voor de opslagplaats, zoals SAP-configuratieopslagplaats.
De opslagplaats klonen
Selecteer Clone in Repository bestanden.
Kloon de opslagplaats naar een lokale map.
Zie Een opslagplaats klonen voor meer informatie.
De inhoud van de opslagplaats handmatig importeren met behulp van een lokale kloon
Download sap-automation-samples als een
.zipbestand.Pak het archief uit en kopieer de inhoud naar de basisdirectory van uw lokale kloon.
Open de lokale map in Visual Studio Code en controleer of er openstaande wijzigingen in bronbeheer zijn.
Voer de geïmporteerde inhoud door, bijvoorbeeld met bericht Importeren vanuit GitHub.
Selecteer Wijzigingen synchroniseren om wijzigingen terug te pushen naar Azure-opslagplaatsen.
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 is de sap-automation-bootstrap-opslagplaats. -
Naam van codeopslagplaats:
sap-automation. Bron is de sap-automation-opslagplaats. -
Naam van voorbeeld- en sjabloonopslagplaats:
sap-samples. Bron is de opslagplaats sap-automation-samples.
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.
Ga in Azure DevOps naar Project Settings>Pipelines>Service-verbindingen.
Selecteer GitHub als serviceverbindingstype.
Selecteer Azure Pipelines in OAuth-configuratie.
Selecteer Autoriseren en aanmelden bij GitHub.
Voer een verbindingsnaam in, bijvoorbeeld SDAF-verbinding met GitHub.
Selecteer Toegang verlenen aan alle pijplijnen.
Selecteer Opslaan.
Een app-registratie instellen voor de web-app (optioneel)
Het Automation-framework kan een web-app inrichten als onderdeel van het besturingsvlak. Als u de web-app wilt gebruiken, maakt u eerst een app-registratie.
Open een Azure Cloud Shell en voer vervolgens de volgende opdrachten uit voor uw shell-omgeving:
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
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
Sla de app-registratie-id en gegenereerd clientgeheim op een veilige locatie op, zoals Azure Key Vault of Azure DevOps-geheime variabelen. Sla inloggegevens niet op in platte tekstbestanden, schermopnamen of versiebeheersystemen.
Azure Pipelines maken
Azure Pipelines worden geïmplementeerd als YAML-bestanden in de opslagplaats. Maak elke pijplijn op basis van het bijbehorende YAML-pad.
- Ga in Azure DevOps naar Pijplijnen en selecteer Nieuwe pijplijn.
- Selecteer Git voor Azure-opslagplaatsen.
- Selecteer de hoofdopslagplaats (dezelfde naam als het project).
- Selecteer Bestaand Azure Pipelines YAML-bestand.
- Selecteer voor elke pijplijn in de volgende tabel het YAML-pad, sla de pijplijn op en wijzig de naam ervan in de weergegeven weergavenaam.
| Pipeline | YAML-pad | weergavenaam |
|---|---|---|
| Uitrol van controlevlak | pipelines/01-deploy-control-plane.yml |
Uitrol van controlevlak |
| Implementatie van SAP-workloadzone | pipelines/02-sap-workload-zone.yml |
Implementatie van SAP-workloadzone |
| SAP-systeemimplementatie (infrastructuur) | pipelines/03-sap-system-deployment.yml |
SAP-systeemimplementatie (infrastructuur) |
| SAP-softwareverwerving | deploy/pipelines/04-sap-software-download.yml |
SAP-softwareverwerving |
| SAP-configuratie en software-installatie | pipelines/05-DB-and-SAP-installation.yml |
SAP-configuratie en software-installatie |
| Implementatie verwijderen | pipelines/10-remover-terraform.yml |
Implementatie verwijderen |
| Implementatie verwijderen met Behulp van Azure Resource Manager | pipelines/11-remover-arm-fallback.yml |
Deployment verwijderen met gebruik van ARM-processor |
| Verwijdering van controlevlak | pipelines/12-remove-control-plane.yml |
Verwijdering van controlevlak |
| Updater van opslagplaats | pipelines/20-update-ado-repository.yml |
Updater van opslagplaats |
De opslagplaats-updater-pijplijn werkt uw Azure DevOps-opslagplaats bij wanneer u wijzigingen van sap-automation wilt toepassen.
Opmerking
Gebruik de implementatieverwijdering met behulp van de Azure Resource Manager-pijplijn alleen als laatste redmiddel. Het verwijderen van alleen resourcegroepen kan restanten achterlaten die herimplementaties compliceren.
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.
Sla het token op een veilige locatie op. Sla de tokenwaarde niet op in tekstbestanden zonder opmaak, schermopnamen, terminallogboeken of broncodebeheer.
Variabelegroepen configureren
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>"
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
Nadat u de groep hebt gemaakt, voegt S-Password u deze toe als een geheime variabele in Azure DevOps in plaats van de waarde op de opdrachtregel door te geven.
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-DEVen 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 |
Gebruik de agentgroep die is gemaakt in de voorbereiding voor een zelfgehoste agent. |
| 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 | Verbindingsnaam gemaakt in Een serviceverbinding maken | |
| 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 is gemaakt in Voorbereiding voor een zelf-hostende agent en stel het variabeletype in op geheim door het vergrendelingspictogram te selecteren. |
| POEL | <Agent Pool name> |
De agentgroep die voor deze omgeving moet worden gebruikt. |
| APP_REGISTRATIE_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.
Ga in Azure DevOps naar Project Settings>Pipelines>Service-verbindingen.
Selecteer Azure Resource Manager en selecteer vervolgens Service-principal (handmatig).
Voer het doelabonnement (meestal het abonnement op het besturingsvlak) en de waarden van de service-principal in.
Selecteer Verifiëren om referenties te valideren.
Voer bijvoorbeeld
Connection to MGMT subscriptioneen verbindingsnaam in.Selecteer Toegang verlenen aan alle pijplijnen.
Selecteer Verifiëren en opslaan.
Zie Een service-principal maken voor meer informatie over het maken van een service-principal.
Opslagplaatsmachtigingen verlenen
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.
Ga naarOpslagplaatsen voor >.
Open het tabblad Beveiliging van de bronopslagplaats.
Een bijdragemachtiging verlenen aan
Build Service.
Implementeer het controlevlak
- Als nieuwe pijplijnen niet zichtbaar zijn, selecteert u Recent en keert u terug naar Alles.
- Open de implementatiepijplijn van het besturingsvlak .
- Voer configuratienamen in voor de implementatie- en SAP-bibliotheek.
- Selecteer Voeruit.
- Als u de configuratieweb-app wilt implementeren, selecteert u De configuratiewebtoepassing implementeren.
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 (VM) 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 VM.
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
Als u de Azure DevOps-agent wilt instellen, start u de deployer opnieuw op, maakt u opnieuw verbinding en voert u het volgende script uit:
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 Azure DevOps-project-URL in die u hebt opgenomen in Een nieuw project maken. Voor verificatie selecteert u PAT en voert u de waarde voor het persoonlijke toegangstoken (PAT) in die u hebt gemaakt in Voorbereiding voor een zelf-hostende agent.
Wanneer u hierom wordt gevraagd, voert u de naam van de agentgroep in die u hebt gemaakt in Voorbereiding voor een zelf-hostende agent (bijvoorbeeld MGMT-WEEU-POOL). 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.
- Voer de pijplijn voor de implementatie van het besturingsvlak uit met
deploy the web app infrastructureingeschakeld. - Wacht tot de implementatie is voltooid.
- Open het tabblad Extensies en voltooi de configuratie na de implementatie.
- App-registratiewaarden bijwerken
reply-url.
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.
Met deze opdracht wordt de startpagina-URL van de app-registratie bijgewerkt en worden Uniform Resource Identifiers (URI's) omgeleid voor de geïmplementeerde web-app voor het besturingsvlak.
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
Lezer toewijzen aan het abonnementsbereik voor de door het app service-systeem toegewezen beheerde identiteit:
- Open de App Service-resource.
- Selecteer Identiteit.
- Selecteer bij Door het systeem toegewezenAzure-roltoewijzingen>Roltoewijzingen toevoegen.
- Selecteer het bereik Abonnement en de rol Lezer, selecteer vervolgens Opslaan.
U moet nu de web-app kunnen bezoeken en deze gebruiken om SAP-werkbelastingzones en SAP-systeeminfrastructuur te implementeren.