@@ -3,83 +3,89 @@ trigger:
33 include :
44 - main
55
6- stages :
7- - stage : build
8- jobs :
9- - job : Build
10- displayName : ' Build AppLocker Artifacts'
11- pool :
12- name : Default
13- workspace :
14- clean : all
15- steps :
16- - task : PowerShell@2
17- name : prereq
18- displayName : ' Download prerequisites'
6+ jobs :
7+ - job : Build
8+ displayName : ' Build AppLocker Artifacts'
9+ pool :
10+ name : Default
11+ steps :
12+ - task : PowerShell@2
13+ name : prereq
14+ displayName : ' Download prerequisites'
15+ inputs :
16+ filePath : ' .\build\prerequisites.ps1'
17+ arguments : ' -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1)'
18+ - task : PowerShell@2
19+ name : validateyaml
20+ displayName : Validate Configuration Data
21+ inputs :
22+ filePath : ' .\build\validate.ps1'
23+ arguments : ' -TestType ConfigurationData -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -ProjectRoot $(Build.SourcesDirectory)'
24+ - task : PowerShell@2
25+ name : buildpolicy
26+ displayName : Build policy XML
27+ inputs :
28+ filePath : ' .\build\build.ps1'
29+ arguments : ' -IncludeRsop -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -SourcePath (Join-Path $(Build.SourcesDirectory) configurationdata) -OutputPath (Join-Path $(Build.SourcesDirectory) output)'
30+ - task : PublishBuildArtifacts@1
31+ displayName : ' Publish Policy XML Files'
32+ inputs :
33+ PathtoPublish : ' output/Policies'
34+ ArtifactName : Policies
35+ - task : PublishBuildArtifacts@1
36+ displayName : ' Publish Policy RSOP Files'
37+ inputs :
38+ PathtoPublish : ' output/Rsop'
39+ ArtifactName : Rsop
40+ - task : PublishTestResults@2
41+ displayName : ' Publish Configuration Data Test Results'
42+ condition : succeededOrFailed()
43+ inputs :
44+ testResultsFormat : ' NUnit'
45+ testResultsFiles : ' tests/testresults.xml'
46+ mergeTestResults : true
47+ failTaskOnFailedTests : true
48+ testRunTitle : ' Configuration Data Tests'
49+ - deployment : Prod
50+ dependsOn : Build
51+ displayName : Prod Deployment
52+ environment : Prod
53+ pool :
54+ name : Default
55+ strategy :
56+ runOnce :
57+ deploy :
58+ steps :
59+ - task : DownloadBuildArtifacts@0
60+ displayName : ' Download Build Artifact: Rsop'
1961 inputs :
20- filePath : ' .\build\prerequisites.ps1 '
21- arguments : ' -DependencyPath .\build\requiredModules.psd1 '
22- - task : PowerShell@2
23- name : validateyaml
24- displayName : Validate Configuration Data
62+ buildType : ' current '
63+ artifactName : Rsop
64+ downloadPath : $(Build.SourcesDirectory)
65+ - task : DownloadBuildArtifacts@0
66+ displayName : ' Download Build Artifact: Policies '
2567 inputs :
26- filePath : ' .\build\validate.ps1'
27- arguments : ' -TestType ConfigurationData -DependencyPath .\build\requiredModules.psd1'
68+ buildType : ' current'
69+ artifactName : Policies
70+ downloadPath : $(Build.SourcesDirectory)
2871 - task : PowerShell@2
29- name : buildpolicy
30- displayName : Build policy XML
72+ name : publishpolicies
73+ displayName : Publish policies
3174 inputs :
32- filePath : ' .\build\build .ps1'
33- arguments : ' -IncludeRsop -DependencyPath .\ build\requiredModules.psd1'
34-
35- - task : PublishBuildArtifacts@1
36- displayName : ' Publish Policy XML Files '
75+ filePath : ' .\build\publish .ps1'
76+ arguments : ' -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -OutputPath (Join-Path $(Build.SourcesDirectory) output) '
77+ - task : PowerShell@2
78+ name : validateintegration
79+ displayName : Validate Integration
3780 inputs :
38- PathtoPublish : ' output/Policies '
39- ArtifactName : Policies
40-
41- - task : PublishBuildArtifacts@1
42- displayName : ' Publish Policy RSOP Files '
81+ filePath : ' .\build\validate.ps1 '
82+ arguments : ' -TestType Integration -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -ProjectRoot $(Build.SourcesDirectory) '
83+ - task : PublishTestResults@2
84+ displayName : ' Publish Integration Test Results '
85+ condition : succeededOrFailed()
4386 inputs :
44- PathtoPublish : ' output/Rsop'
45- ArtifactName : Rsop
46- - stage : publish
47- dependsOn : build
48- jobs :
49- - deployment : Prod
50- displayName : Prod Deployment
51- environment : Prod
52- pool :
53- name : Default
54- workspace :
55- clean : all
56- strategy :
57- runOnce :
58- deploy :
59- steps :
60- - download : None
61-
62- - task : DownloadBuildArtifacts@0
63- displayName : ' Download Build Artifact: Rsop'
64- inputs :
65- buildType : ' current'
66- artifactName : Rsop
67- downloadPath : $(Build.SourcesDirectory)
68- - task : DownloadBuildArtifacts@0
69- displayName : ' Download Build Artifact: Policies'
70- inputs :
71- buildType : ' current'
72- artifactName : Policies
73- downloadPath : $(Build.SourcesDirectory)
74- - task : PowerShell@2
75- name : publishpolicies
76- displayName : Publish policies
77- inputs :
78- filePath : ' .\build\publish.ps1'
79- arguments : ' -OutputPath $(Build.SourcesDirectory) -DependencyPath .\build\requiredModules.psd1'
80- - task : PowerShell@2
81- name : validateintegration
82- displayName : Validate Integration
83- inputs :
84- filePath : ' .\build\validate.ps1'
85- arguments : ' -TestType Integration -DependencyPath .\build\requiredModules.psd1'
87+ testResultsFormat : ' NUnit'
88+ testResultsFiles : ' tests/testresults.xml'
89+ mergeTestResults : true
90+ failTaskOnFailedTests : true
91+ testRunTitle : ' Integration Tests'
0 commit comments