Files
C4IT-F4SD-M42WebApi/ImagoverumFleetManagement/AzurePipelines/release.yml

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