Update pipeline to used multiple stages (#11)
This commit is contained in:
Родитель
6f4909cecf
Коммит
e380669f67
|
@ -0,0 +1,110 @@
|
||||||
|
# Azure DevOps
|
||||||
|
# CI pipeline for PSRule.Rules.Kubernetes
|
||||||
|
|
||||||
|
variables:
|
||||||
|
version: '0.1.0'
|
||||||
|
buildConfiguration: 'Release'
|
||||||
|
|
||||||
|
# Use build number format, i.e. 0.1.0-B181101
|
||||||
|
name: $(version)-B$(date:yyMM)$(rev:rr)
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- 'master'
|
||||||
|
tags:
|
||||||
|
include:
|
||||||
|
- 'v0.*'
|
||||||
|
|
||||||
|
pr:
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- 'master'
|
||||||
|
|
||||||
|
stages:
|
||||||
|
|
||||||
|
# Build pipeline
|
||||||
|
- stage: Build
|
||||||
|
displayName: Build
|
||||||
|
jobs:
|
||||||
|
- job:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
Linux:
|
||||||
|
imageName: 'ubuntu-16.04'
|
||||||
|
MacOS:
|
||||||
|
imageName: 'macos-10.13'
|
||||||
|
Windows:
|
||||||
|
imageName: 'vs2017-win2016'
|
||||||
|
publishModule: 'true'
|
||||||
|
analysis: 'true'
|
||||||
|
coverage: 'true'
|
||||||
|
pool:
|
||||||
|
vmImage: $(imageName)
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# Install pipeline dependencies and build module
|
||||||
|
- powershell: ./scripts/pipeline-build.ps1 -File ./pipeline.build.ps1 -Configuration $(buildConfiguration) -ModuleVersion $(Build.BuildNumber) -ReleaseVersion "$(Release.Version)"
|
||||||
|
displayName: 'Build module'
|
||||||
|
|
||||||
|
# Pester test results
|
||||||
|
- task: PublishTestResults@2
|
||||||
|
displayName: 'Publish Pester results'
|
||||||
|
inputs:
|
||||||
|
testRunTitle: 'Pester on $(imageName)'
|
||||||
|
testRunner: NUnit
|
||||||
|
testResultsFiles: 'reports/pester-unit.xml'
|
||||||
|
mergeTestResults: true
|
||||||
|
platform: $(imageName)
|
||||||
|
configuration: $(buildConfiguration)
|
||||||
|
publishRunAttachments: true
|
||||||
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
|
# PSRule results
|
||||||
|
# - task: PublishTestResults@2
|
||||||
|
# displayName: 'Publish PSRule results'
|
||||||
|
# inputs:
|
||||||
|
# testRunTitle: 'PSRule on $(imageName)'
|
||||||
|
# testRunner: NUnit
|
||||||
|
# testResultsFiles: 'reports/rule.report.xml'
|
||||||
|
# mergeTestResults: true
|
||||||
|
# platform: $(imageName)
|
||||||
|
# configuration: $(buildConfiguration)
|
||||||
|
# publishRunAttachments: true
|
||||||
|
# condition: succeededOrFailed()
|
||||||
|
|
||||||
|
# Publish Code Coverage Results
|
||||||
|
- task: PublishCodeCoverageResults@1
|
||||||
|
displayName: 'Publish Pester code coverage'
|
||||||
|
inputs:
|
||||||
|
codeCoverageTool: 'JaCoCo'
|
||||||
|
summaryFileLocation: 'reports/pester-coverage.xml'
|
||||||
|
condition: eq(variables['coverage'], 'true')
|
||||||
|
|
||||||
|
# Generate artifacts
|
||||||
|
- task: PublishPipelineArtifact@0
|
||||||
|
displayName: 'Publish module'
|
||||||
|
inputs:
|
||||||
|
artifactName: PSRule.Rules.Kubernetes
|
||||||
|
targetPath: out/modules/PSRule.Rules.Kubernetes
|
||||||
|
condition: and(succeeded(), eq(variables['publishModule'], 'true'))
|
||||||
|
|
||||||
|
# Release pipeline
|
||||||
|
- stage: Release
|
||||||
|
displayName: Release
|
||||||
|
dependsOn: Build
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v0.')
|
||||||
|
jobs:
|
||||||
|
- job:
|
||||||
|
displayName: Live
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-16.04'
|
||||||
|
steps:
|
||||||
|
- task: DownloadPipelineArtifact@1
|
||||||
|
displayName: 'Download module'
|
||||||
|
inputs:
|
||||||
|
artifactName: PSRule.Rules.Kubernetes
|
||||||
|
downloadPath: $(Build.SourcesDirectory)/out/modules/PSRule.Rules.Kubernetes
|
||||||
|
# Install pipeline dependencies and build module
|
||||||
|
- powershell: ./scripts/pipeline-build.ps1 -File ./pipeline.build.ps1 -Task Release -NuGetApiKey $(apiKey)
|
||||||
|
displayName: 'Publish module'
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
## v0.1.0-B190521
|
## v0.1.0-B190521 (pre-release)
|
||||||
|
|
||||||
- Initial pre-release
|
- Initial pre-release
|
||||||
|
|
Загрузка…
Ссылка в новой задаче