|
3 | 3 |
|
4 | 4 | parameters: |
5 | 5 | version: $(DotNetSdkVersion) |
6 | | - quality: $(DotNetSdkQuality) |
7 | | - remove_dotnet: false |
8 | | - retryCountOnTaskFailure: 3 |
| 6 | + includePreviewVersions: false |
9 | 7 |
|
10 | 8 | steps: |
11 | 9 |
|
12 | | - - pwsh: | |
13 | | - $ErrorActionPreference = 'Stop' |
14 | | - $ProgressPreference = 'SilentlyContinue' |
15 | | - $DotNetRoot = "$env:ProgramFiles\dotnet\" |
16 | | - if ("${{ parameters.remove_dotnet }}" -eq $true) { |
17 | | - Remove-Item -Recurse $DotNetRoot -Verbose |
18 | | - } |
19 | | - $currentAttempt = 1 |
20 | | - $totalAttempts = 5 |
21 | | - $sleepTime = 5 |
22 | | - $completed = $false |
23 | | - while (-not $completed -and $currentAttempt -le $totalAttempts) { |
24 | | - try { |
25 | | - $response = Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile dotnet-install.ps1 -PassThru |
26 | | - if ($response.StatusCode -ne 200) { |
27 | | - throw |
28 | | - } |
29 | | - $completed = $true |
30 | | - } catch { |
31 | | - if ($currentAttempt -eq $totalAttempts) { |
32 | | - Write-Host "Unable to download 'dotnet-install.ps1' after $currentAttempt attempts." |
33 | | - throw |
34 | | - } |
35 | | - Write-Host $_.Exception |
36 | | - Write-Host "Retrying after $sleepTime seconds..." |
37 | | - Start-Sleep $sleepTime |
38 | | - $currentAttempt++ |
39 | | - $sleepTime = $sleepTime * 2 |
40 | | - } |
41 | | - } |
42 | | - & .\dotnet-install.ps1 -Channel ${{ parameters.version }} -Quality ${{ parameters.quality }} -InstallDir $DotNetRoot -SkipNonVersionedFiles -Verbose |
43 | | - displayName: install .NET Core ${{ parameters.version }} |
44 | | - condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) |
45 | | - retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} |
46 | | -
|
47 | | - - bash: > |
48 | | - DOTNET_ROOT=~/.dotnet/ && |
49 | | - (if [[ "${{ parameters.remove_dotnet }}" == "true" ]] ; then rm -rfv $DOTNET_ROOT; fi) && |
50 | | - curl -L https://dot.net/v1/dotnet-install.sh --retry 5 --retry-max-time 300 > dotnet-install.sh && |
51 | | - chmod +x dotnet-install.sh && |
52 | | - ./dotnet-install.sh --channel ${{ parameters.version }} --quality ${{ parameters.quality }} --install-dir $DOTNET_ROOT --skip-non-versioned-files --verbose && |
53 | | - PATH="$DOTNET_ROOT:$PATH" && |
54 | | - echo "##vso[task.setvariable variable=DOTNET_ROOT]$DOTNET_ROOT" && |
55 | | - echo "##vso[task.setvariable variable=PATH]$PATH" |
56 | | - displayName: install .NET Core ${{ parameters.version }} |
57 | | - condition: and(succeeded(), ne(variables['agent.os'], 'Windows_NT')) |
58 | | - retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} |
| 10 | + - task: UseDotNet@2 |
| 11 | + inputs: |
| 12 | + version: ${{ parameters.version }} |
| 13 | + includePreviewVersions: ${{ parameters.includePreviewVersions }} |
59 | 14 |
|
60 | 15 | - script: dotnet --info |
61 | 16 | displayName: display dotnet --info |
0 commit comments