Skip to content

Commit 51448a8

Browse files
author
Kimmo Forss
committed
Perform Logon from the script
1 parent 7d7e783 commit 51448a8

File tree

1 file changed

+70
-24
lines changed

1 file changed

+70
-24
lines changed

articles/sap/automation/configure-devops.md

Lines changed: 70 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -31,38 +31,69 @@ Open PowerShell ISE and copy the following script and update the parameters to m
3131
$Env:SDAF_ADO_ORGANIZATION = "https://dev.azure.com/ORGANIZATIONNAME"
3232
$Env:SDAF_ADO_PROJECT = "SAP Deployment Automation Framework"
3333
$Env:SDAF_CONTROL_PLANE_CODE = "MGMT"
34-
$Env:SDAF_WORKLOAD_ZONE_CODE = "DEV"
3534
$Env:SDAF_ControlPlaneSubscriptionID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
36-
$Env:SDAF_WorkloadZoneSubscriptionID = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
3735
$Env:ARM_TENANT_ID="zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz"
36+
37+
$Env:MSI_OBJECT_ID = $null
38+
39+
$branchName = "main"
40+
41+
$UniqueIdentifier = "SDAF" + $ShortCode
3842
39-
$UniqueIdentifier = Read-Host "Please provide an identifier that makes the service principal names unique, for instance a project code"
40-
41-
$confirmation = Read-Host "Do you want to create a new Application registration (needed for the Web Application) y/n?"
42-
if ($confirmation -eq 'y') {
43-
$Env:SDAF_APP_NAME = $UniqueIdentifier + " SDAF Control Plane"
43+
if ($Env:ARM_TENANT_ID.Length -eq 0) {
44+
az login --output none --only-show-errors --scope https://graph.microsoft.com//.default
4445
}
45-
4646
else {
47-
$Env:SDAF_APP_NAME = Read-Host "Please provide the Application registration name"
47+
az login --output none --tenant $ARM_TENANT_ID --only-show-errors --scope https://graph.microsoft.com//.default
4848
}
49-
50-
$confirmation = Read-Host "Do you want to create a new Service Principal for the Control plane y/n?"
51-
if ($confirmation -eq 'y') {
52-
$Env:SDAF_MGMT_SPN_NAME = $UniqueIdentifier + " SDAF " + $Env:SDAF_CONTROL_PLANE_CODE + " SPN"
49+
50+
az config set extension.use_dynamic_install=yes_without_prompt --only-show-errors
51+
52+
az extension add --name azure-devops --only-show-errors
53+
54+
$differentTenant = Read-Host "Is your Azure DevOps organization hosted in a different tenant than the one you are currently logged in to? y/n"
55+
if ($differentTenant -eq 'y') {
56+
$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"
57+
try {
58+
az devops login --organization $Env:ADO_Organization
59+
}
60+
catch {
61+
$_
62+
}
5363
}
64+
65+
$confirmationWebAppDeployment = Read-Host "Do you want to use the Web Application for editing the configuration files (recommended) y/n?"
66+
if ($confirmationWebAppDeployment -eq 'y') {
67+
$Env:SDAF_WEBAPP = "true"
68+
$confirmation = Read-Host "Do you want to create a new Application registration (needed for the Web Application) y/n?"
69+
if ($confirmation -eq 'y') {
70+
$Env:SDAF_APP_NAME = "SDAF " + $UniqueIdentifier + " SDAF Control Plane"
71+
}
5472
else {
55-
$Env:SDAF_MGMT_SPN_NAME = Read-Host "Please provide the Control Plane Service Principal Name"
73+
$Env:SDAF_APP_NAME = Read-Host "Please provide the Application registration name"
74+
}
5675
}
57-
58-
$confirmation = Read-Host "Do you want to create a new Service Principal for the Workload zone y/n?"
59-
if ($confirmation -eq 'y') {
60-
$Env:SDAF_WorkloadZone_SPN_NAME = $UniqueIdentifier + " SDAF " + $Env:SDAF_WORKLOAD_ZONE_CODE + " SPN"
76+
else {
77+
$Env:SDAF_WEBAPP = "false"
6178
}
79+
80+
$Env:SDAF_AuthenticationMethod = 'Managed Identity'
81+
82+
$confirmationDeployment = Read-Host "Do you want to use Managed Identities for the deployment (recommended) y/n?"
83+
84+
if ($confirmationDeployment -eq 'n') {
85+
$Env:SDAF_AuthenticationMethod = 'Service Principal'
86+
87+
$confirmation = Read-Host "Do you want to create a new Service Principal for the Control plane y/n?"
88+
if ($confirmation -eq 'y') {
89+
$Env:SDAF_MGMT_SPN_NAME = "SDAF " + $UniqueIdentifier + $Env:SDAF_CONTROL_PLANE_CODE + " SPN"
90+
}
6291
else {
63-
$Env:SDAF_WorkloadZone_SPN_NAME = Read-Host "Please provide the Workload Zone Service Principal Name"
92+
$Env:SDAF_MGMT_SPN_NAME = Read-Host "Please provide the Control Plane Service Principal Name"
93+
}
94+
6495
}
65-
96+
6697
if ( $PSVersionTable.Platform -eq "Unix") {
6798
if ( Test-Path "SDAF") {
6899
}
@@ -78,14 +109,29 @@ Open PowerShell ISE and copy the following script and update the parameters to m
78109
New-Item -Path $sdaf_path -Type Directory
79110
}
80111
}
81-
112+
82113
Set-Location -Path $sdaf_path
83-
114+
84115
if ( Test-Path "New-SDAFDevopsProject.ps1") {
85-
remove-item .\New-SDAFDevopsProject.ps1
116+
if ( $PSVersionTable.Platform -eq "Unix") {
117+
Remove-Item "New-SDAFDevopsProject.ps1"
118+
}
119+
else {
120+
Remove-Item ".\New-SDAFDevopsProject.ps1"
121+
}
86122
}
123+
124+
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/$branchName/deploy/scripts/New-SDAFDevopsProject.ps1 -OutFile New-SDAFDevopsProject.ps1
125+
87126
88-
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/main/deploy/scripts/New-SDAFDevopsProject.ps1 -OutFile .\New-SDAFDevopsProject.ps1 ; .\New-SDAFDevopsProject.ps1
127+
if ( $PSVersionTable.Platform -eq "Unix") {
128+
Unblock-File ./New-SDAFDevopsProject.ps1
129+
./New-SDAFDevopsProject.ps1
130+
}
131+
else {
132+
Unblock-File .\New-SDAFDevopsProject.ps1
133+
.\New-SDAFDevopsProject.ps1
134+
}
89135
90136
```
91137

0 commit comments

Comments
 (0)