|
| 1 | +variables: |
| 2 | + - group: mcrint |
| 3 | + |
| 4 | +parameters: |
| 5 | + - name: publicSource |
| 6 | + default: no |
| 7 | + displayName: no if the source requires login, yes if the source does not. |
| 8 | + - name: sourceHostName |
| 9 | + displayName: Source HostName |
| 10 | + - name: sourceServerCoreImageName |
| 11 | + default: windows/servercore:ltsc2022 |
| 12 | + displayName: Source Window servercore Image name without server name |
| 13 | + - name: sourceNanoImageName |
| 14 | + default: windows/nanoserver:ltsc2022 |
| 15 | + displayName: Source Window servercore Image name without server name |
| 16 | + |
| 17 | +jobs: |
| 18 | +- job: Mirror |
| 19 | + pool: |
| 20 | + vmImage: vs2017-win2016 |
| 21 | + |
| 22 | + strategy: |
| 23 | + matrix: |
| 24 | + servercore: |
| 25 | + sourceImage: ${{ parameters.sourceServerCoreImageName }} |
| 26 | + targetImage: windows/servercore:ltsc2022 |
| 27 | + nanoserver: |
| 28 | + sourceImage: ${{ parameters.sourceNanoImageName }} |
| 29 | + targetImage: windows/nanoserver:ltsc2022 |
| 30 | + |
| 31 | + displayName: Mirror Image |
| 32 | + steps: |
| 33 | + - checkout: self |
| 34 | + - task: AzureCLI@2 |
| 35 | + displayName: Mirror $(targetImage) - with login |
| 36 | + condition: and(succeeded(), eq('${{ parameters.publicSource }}', 'no')) |
| 37 | + inputs: |
| 38 | + connectedServiceNameARM: c58d97a0-15dd-4781-b8b9-c8a0c2fdcdd9 |
| 39 | + scriptType: pscore |
| 40 | + scriptLocation: inlineScript |
| 41 | + inlineScript: >- |
| 42 | + az acr import --name $(targetusername) ` |
| 43 | + --source $(mcrinthostname)/$(sourceImage) ` |
| 44 | + --image $(targetImage) ` |
| 45 | + --username $(mcrintusername) ` |
| 46 | + --password $(mcrintsecret) --force |
| 47 | + - task: AzureCLI@2 |
| 48 | + displayName: Mirror $(targetImage) - without login |
| 49 | + condition: and(succeeded(), ne('${{ parameters.publicSource }}', 'no')) |
| 50 | + inputs: |
| 51 | + connectedServiceNameARM: c58d97a0-15dd-4781-b8b9-c8a0c2fdcdd9 |
| 52 | + scriptType: pscore |
| 53 | + scriptLocation: inlineScript |
| 54 | + inlineScript: >- |
| 55 | + az acr import --name $(targetusername) ` |
| 56 | + --source $(mcrinthostname)/$(sourceImage) ` |
| 57 | + --image $(targetImage) --force |
| 58 | +
|
0 commit comments