-
Notifications
You must be signed in to change notification settings - Fork 162
/
azure-pipelines Guest Configuration.yml
128 lines (114 loc) · 4.33 KB
/
azure-pipelines Guest Configuration.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
trigger:
branches:
include:
- '*'
paths:
exclude:
- CHANGELOG.md
tags:
include:
- "v*"
exclude:
- "*-*"
variables:
buildFolderName: output
testResultFolderName: testResults
defaultBranch: main
Agent.Source.Git.ShallowFetchDepth: 0
stages:
- stage: Build
jobs:
- job: CompileDscOnPowerShellCore
displayName: Compile DSC Configuration on PowerShell Core
pool:
vmImage: 'windows-latest'
steps:
- pwsh: |
dir -Path env: | Out-String | Write-Host
displayName: 'Display Environment Variables'
- pwsh: |
dotnet tool install --global GitVersion.Tool
$gitVersionObject = dotnet-gitversion | ConvertFrom-Json
$gitVersionObject.PSObject.Properties.ForEach{
Write-Host -Object "Setting Task Variable '$($_.Name)' with value '$($_.Value)'."
Write-Host -Object "##vso[task.setvariable variable=$($_.Name);]$($_.Value)"
}
Write-Host -Object "##vso[build.updatebuildnumber]$($gitVersionObject.FullSemVer)"
displayName: Calculate ModuleVersion (GitVersion)
- task: PowerShell@2
name: build
displayName: 'Build DSC Artifacts'
inputs:
filePath: './build.ps1'
arguments: '-ResolveDependency -tasks build'
pwsh: true
env:
ModuleVersion: $(NuGetVersionV2)
- task: AzureCLI@2
name: setVariables
displayName: Set Output Variables
continueOnError: false
inputs:
azureSubscription: GC1
scriptType: ps
scriptLocation: inlineScript
addSpnToEnvironment: true
inlineScript: |
Write-Host "##vso[task.setvariable variable=azureClientId;isOutput=true]$($env:servicePrincipalId)"
Write-Host "##vso[task.setvariable variable=azureClientSecret;isOutput=true]$($env:servicePrincipalKey)"
Write-Host "##vso[task.setvariable variable=azureTenantId;isOutput=true]$($env:tenantId)"
Write-Host "##vso[task.setvariable variable=azureIdToken;isOutput=true]$($env:idToken)"
- task: PowerShell@2
name: pack
displayName: 'Pack DSC Artifacts'
inputs:
filePath: './build.ps1'
arguments: '-tasks pack'
pwsh: true
env:
azureClientId: $(setVariables.azureClientId)
azureClientSecret: $(setVariables.azureClientSecret)
azureTenantId: $(setVariables.azureTenantId)
azureIdToken: $(setVariables.azureIdToken)
- task: PublishPipelineArtifact@1
displayName: 'Publish Output Folder'
inputs:
targetPath: '$(buildFolderName)/'
artifact: 'output7'
publishLocation: 'pipeline'
parallel: true
- task: PublishPipelineArtifact@1
displayName: 'Publish MOF Files'
inputs:
targetPath: '$(buildFolderName)/MOF'
artifact: 'MOF7'
publishLocation: 'pipeline'
parallel: true
- task: PublishPipelineArtifact@1
displayName: 'Publish Meta MOF Files'
inputs:
targetPath: '$(buildFolderName)/MetaMOF'
artifact: 'MetaMOF7'
publishLocation: 'pipeline'
parallel: true
- task: PublishPipelineArtifact@1
displayName: 'Publish Compressed Modules'
inputs:
targetPath: '$(buildFolderName)/CompressedModules'
artifact: 'CompressedModules7'
publishLocation: 'pipeline'
parallel: true
- task: PublishPipelineArtifact@1
displayName: 'Publish RSOP Files'
inputs:
targetPath: '$(buildFolderName)/RSOP'
artifact: 'RSOP7'
publishLocation: 'pipeline'
parallel: true
- task: PublishPipelineArtifact@1
displayName: 'Publish GC Packages'
inputs:
targetPath: '$(buildFolderName)/GCPackages'
artifact: 'GCPackages'
publishLocation: 'pipeline'
parallel: true