@@ -31,38 +31,69 @@ Open PowerShell ISE and copy the following script and update the parameters to m
31
31
$Env:SDAF_ADO_ORGANIZATION = "https://dev.azure.com/ORGANIZATIONNAME"
32
32
$Env:SDAF_ADO_PROJECT = "SAP Deployment Automation Framework"
33
33
$Env:SDAF_CONTROL_PLANE_CODE = "MGMT"
34
- $Env:SDAF_WORKLOAD_ZONE_CODE = "DEV"
35
34
$Env:SDAF_ControlPlaneSubscriptionID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
36
- $Env:SDAF_WorkloadZoneSubscriptionID = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
37
35
$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
38
42
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
44
45
}
45
-
46
46
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
48
48
}
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
+ }
53
63
}
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
+ }
54
72
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
+ }
56
75
}
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"
61
78
}
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
+ }
62
91
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
+
64
95
}
65
-
96
+
66
97
if ( $PSVersionTable.Platform -eq "Unix") {
67
98
if ( Test-Path "SDAF") {
68
99
}
@@ -78,14 +109,29 @@ Open PowerShell ISE and copy the following script and update the parameters to m
78
109
New-Item -Path $sdaf_path -Type Directory
79
110
}
80
111
}
81
-
112
+
82
113
Set-Location -Path $sdaf_path
83
-
114
+
84
115
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
+ }
86
122
}
123
+
124
+ Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/$branchName/deploy/scripts/New-SDAFDevopsProject.ps1 -OutFile New-SDAFDevopsProject.ps1
125
+
87
126
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
+ }
89
135
90
136
```
91
137
0 commit comments