126 lines
4.7 KiB
YAML
126 lines
4.7 KiB
YAML
#name: $(BuildDefinitionName)_$(date:yyyyMMdd)$(rev:.r)
|
|
pr: none
|
|
trigger:
|
|
paths:
|
|
include:
|
|
- 'BasePackage/**'
|
|
|
|
parameters:
|
|
- name: extension_package_json_versioning
|
|
displayName: 'Increment extension major/minor version in package.json'
|
|
type: boolean
|
|
default: false
|
|
- name: extension_build_versioning
|
|
displayName: 'Increment extension build version in package.json'
|
|
type: boolean
|
|
default: false
|
|
- name: extension_publish
|
|
displayName: 'Publish Extension?'
|
|
type: boolean
|
|
default: false
|
|
|
|
resources:
|
|
repositories:
|
|
- repository: cicd
|
|
type: git
|
|
name: 'DWP/Continuous Integration and Delivery'
|
|
- repository: perf
|
|
type: git
|
|
name: 'DWP/M42ExtensionPerformanceAnalyser'
|
|
|
|
stages:
|
|
- stage: InternalRelease
|
|
displayName: Generate Package
|
|
variables:
|
|
- template: AzurePipelines/shared/variables/esx-vars.yml@cicd
|
|
- template: AzurePipelines/shared/variables/esm-deploy-vars.yml@cicd
|
|
- template: AzurePipelines/shared/variables/extensions-vars.yml@cicd
|
|
jobs:
|
|
- job: PreparePackage
|
|
displayName: Prepare Package
|
|
pool:
|
|
name: M42BPM
|
|
demands:
|
|
- DotNetFramework
|
|
- vstest
|
|
- NPM
|
|
steps:
|
|
- template: templates/generate-package.yml
|
|
parameters:
|
|
PackagePath: '$(System.DefaultWorkingDirectory)/BasePackage'
|
|
PackageAdditions: '$(BaseDir)/ConfigPackage'
|
|
PackageIncrementStrategy: 'parameter-based'
|
|
PackageBuildNumber: '$(Build.BuildId)'
|
|
PackagePipelineArtifacts:
|
|
- artifactName: Backend
|
|
pipelineProject: DWP
|
|
pipelineId: 1864
|
|
pipelineBranchName: '$(Build.SourceBranch)'
|
|
downloadPath: '$(Pipeline.Workspace)'
|
|
targetPath: '$(BaseDir)/ConfigPackage/Assemblies/svc/bin'
|
|
|
|
- job: UpdatePackageVersion
|
|
condition: and(succeeded(), ne(coalesce(dependencies.PreparePackage.outputs['PassVersion.PassPackageVersion'], ''), ''))
|
|
variables:
|
|
- name: PackageVersion
|
|
value: $[ dependencies.PreparePackage.outputs['PassVersion.PassPackageVersion'] ]
|
|
pool:
|
|
name: M42BPM
|
|
demands:
|
|
- npm
|
|
- DotNetFramework
|
|
- vstest
|
|
steps:
|
|
- ${{ if eq(variables['Build.SourceBranchName'], 'main') }}:
|
|
- checkout: perf
|
|
persistCredentials: true
|
|
clean: true
|
|
- template: templates/update-package-version.yml
|
|
parameters:
|
|
GitBranchName: $(Build.SourceBranchName)
|
|
PackageVersion: $(PackageVersion)
|
|
|
|
- stage: PublicRelease
|
|
dependsOn: InternalRelease
|
|
displayName: 'Public Release'
|
|
condition: and(succeeded(), eq(variables['build.sourceBranchName'], 'main'))
|
|
variables:
|
|
- template: AzurePipelines/shared/variables/extensions-vars.yml@cicd
|
|
- name: PackageVersion
|
|
value: $[stageDependencies.InternalRelease.PreparePackage.outputs['PassVersion.PassPackageVersion'] ]
|
|
jobs:
|
|
- deployment: UploadPackage
|
|
displayName: 'Publish Package on Gellary'
|
|
environment: extension-performance-analyzer-env
|
|
pool:
|
|
name: M42BPM
|
|
demands:
|
|
- DotNetFramework
|
|
- NPM
|
|
- msbuild
|
|
strategy:
|
|
runOnce:
|
|
deploy:
|
|
steps:
|
|
- checkout: self
|
|
- task: DownloadPipelineArtifact@2
|
|
displayName: Download Package as Artifact
|
|
inputs:
|
|
artifactName: Package
|
|
targetPath: '$(Pipeline.Workspace)'
|
|
- task: Matrix42ExtensionsUploadReleaseTask@1
|
|
displayName: 'Uploading Extension Release: f43b7586-0eae-40bb-9a66-0ea8baa9d5b6'
|
|
inputs:
|
|
acspat: 'M42 Extensions - Publish as Matrix42 (Vendor) - DWP'
|
|
extensionid: 'f43b7586-0eae-40bb-9a66-0ea8baa9d5b6'
|
|
extensionlocation: '$(Pipeline.Workspace)\Package\package-$(PackageVersion).zip'
|
|
- ${{ if eq(parameters.extension_publish, true) }}:
|
|
- task: Matrix42ExtensionsPublishReleaseTask@1
|
|
displayName: 'Publishing Extension'
|
|
inputs:
|
|
acspat: 'M42 Extensions - Publish as Matrix42 (Vendor) - DWP'
|
|
extensionid: 'f43b7586-0eae-40bb-9a66-0ea8baa9d5b6'
|
|
extensionmanifestlocation: 'BasePackage/package.json'
|
|
extensiontag: stable
|
|
extensionvisibility: contributors
|
|
extensioncommunity: true |