@@ -26,10 +26,15 @@ jobs:
26
26
matrix : $[ ${{ parameters.matrix }} ]
27
27
maxParallel : ${{ parameters.maxParallel }}
28
28
variables :
29
- dockerImage : ' powershell'
30
- ACR : ${{ parameters.ACR }}
31
- releaseTag : ${{ parameters.releaseTag }}
32
- scanType : Register
29
+ - name : dockerImage
30
+ value : ' powershell'
31
+ - name : ACR
32
+ value : ${{ parameters.ACR }}
33
+ - name : releaseTag
34
+ value : ${{ parameters.releaseTag }}
35
+ - name : scanType
36
+ value : Register
37
+ - group : Azure Blob Variable Group
33
38
34
39
pool :
35
40
name : ${{ parameters.pool }}
47
52
- task : UseDotNet@2
48
53
inputs :
49
54
packageType : ' sdk'
50
- version : 6 .x
55
+ version : 7 .x
51
56
52
57
- pwsh : |
53
58
dotnet --list-sdks
@@ -99,15 +104,42 @@ jobs:
99
104
displayName: 'docker login $(dockerHost)'
100
105
condition: and( succeededOrFailed(), ne(variables['Channel'],''))
101
106
102
- - pwsh : ' az login --service-principal -u $(az_url) -p $(az_key) --tenant $(az_name)'
107
+
108
+ - pwsh : |
109
+ if($env:ACR -eq 'yes')
110
+ {
111
+ Write-Host 'Using ACR, will need to az login'
112
+ az login --service-principal -u $(az_url) -p $(az_key) --tenant $(az_name)
113
+ }
103
114
displayName: 'az login'
104
115
condition: and( succeededOrFailed(), ne(variables['Channel'],''))
105
116
106
117
- pwsh : |
107
- az account set --subscription $(StorageSubscriptionName)
108
- $querystring = az storage account generate-sas --account-name $(StorageAccount) --services b --resource-types o --expiry ((get-date).AddDays(1).ToString("yyyy-MM-dd")) --permission r --https-only | convertfrom-json
109
- $url = "https://$(StorageAccount).blob.core.windows.net/?$querystring"
110
- Write-Host "##vso[task.setvariable variable=SasUrl;]$url"
118
+ $modules = 'Az.Accounts', 'Az.Storage'
119
+ foreach ($module in $modules) {
120
+ if (!(Get-Module $module -listavailable)) {
121
+ Write-Host "installing $module..." -verbose
122
+ Install-Module $module -force -allowclobber
123
+ } else {
124
+ Write-Host "$module is already installed" -verbose
125
+ }
126
+ }
127
+ displayName: 'Install AzAccounts'
128
+ condition: and( succeededOrFailed(), ne(variables['Channel'],''))
129
+
130
+ - task : AzurePowerShell@5
131
+ inputs :
132
+ azureSubscription : ' $(AzureFileCopySubscription)'
133
+ scriptType : inlineScript
134
+ azurePowerShellVersion : latestVersion
135
+ pwsh : true
136
+ inline : |
137
+ $containerName = Out-String -InputObject $(DOCKERNAMESPACE) -NoNewline
138
+ $containerName = $containerName.Replace('.', '-')
139
+ $context = New-AzStorageContext -StorageAccountName $(StorageAccount)
140
+ $querystring = New-AzStorageContainerSASToken -Context $context -Name $containerName -Permission r -ExpiryTime ((get-date).AddMinutes(180)) -Protocol HttpsOnly
141
+ $url = "https://$(StorageAccount).blob.core.windows.net/$querystring"
142
+ Write-Host "##vso[task.setvariable variable=SasUrl;]$url"
111
143
displayName : ' Set SasUrl variable'
112
144
condition : and( succeededOrFailed(), ne(variables['Channel'],''))
113
145
@@ -116,7 +148,6 @@ jobs:
116
148
condition : and( succeededOrFailed(), ne(variables['Channel'],''))
117
149
118
150
- pwsh : |
119
- az account set --subscription $(AcrSubscriptionName)
120
151
$extraParams = @{}
121
152
if($env:ACR -eq 'no')
122
153
{
@@ -125,6 +156,7 @@ jobs:
125
156
}
126
157
else
127
158
{
159
+ az account set --subscription $(AcrSubscriptionName)
128
160
Write-Host 'Using ACR, will NOT test behavior...'
129
161
$extraParams.Add('SkipTest',$true)
130
162
}
@@ -153,7 +185,12 @@ jobs:
153
185
displayName : ' docker logout'
154
186
condition : and( always(), ne(variables['Channel'],''))
155
187
156
- - pwsh : ' az logout'
188
+ - pwsh : |
189
+ if($env:ACR -eq 'yes')
190
+ {
191
+ Write-Host 'Using ACR, will need to az logout'
192
+ az logout
193
+ }
157
194
displayName: 'az logout'
158
195
condition: and( succeededOrFailed(), ne(variables['Channel'],''))
159
196
0 commit comments