chore: add Imagoverum fleet management package
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
parameters:
|
||||
- name: 'PackagePipelineArtifacts'
|
||||
type: object
|
||||
default:
|
||||
- artifactName: 'Backend'
|
||||
pipelineProject: 'DWP'
|
||||
pipelineId: ''
|
||||
pipelineBranchName: '$(Build.SourceBranch)'
|
||||
downloadPath: '$(Pipeline.Workspace)'
|
||||
targetPath: '$(Pipeline.Workspace)'
|
||||
- artifactName: 'Frontend'
|
||||
|
||||
- name: 'PackagePath'
|
||||
type: string
|
||||
default: '$(System.DefaultWorkingDirectory)/BasePackage'
|
||||
- name: 'PackageAdditions'
|
||||
type: string
|
||||
- name: 'PackageIncrementStrategy'
|
||||
type: string
|
||||
default: 'parameter-based'
|
||||
values:
|
||||
- file-based #increment package.json version directly in a file
|
||||
- parameter-based #increment package version based on 'package build number' input parameter
|
||||
- name: 'PackageBuildNumber'
|
||||
type: string
|
||||
default: '$(Build.BuildId)'
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
echo PackagePath: ${{ parameters.PackagePath }}
|
||||
echo PackageIncrementStrategy: ${{ parameters.PackageIncrementStrategy }}
|
||||
echo PackageBuildNumber: ${{ parameters.PackageBuildNumber }}
|
||||
name: InputVariables
|
||||
displayName: Template Available Parameters
|
||||
- ${{ each pipelineArtifact in parameters.PackagePipelineArtifacts }} :
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: Download Frontend Pipeline Artifacts From Build
|
||||
inputs:
|
||||
buildType: 'specific'
|
||||
project: ${{ pipelineArtifact.pipelineProject }}
|
||||
definition: ${{ pipelineArtifact.pipelineId }}
|
||||
preferTriggeringPipeline: true
|
||||
buildVersionToDownload: 'latestFromBranch'
|
||||
branchName: ${{ pipelineArtifact.pipelineBranchName }}
|
||||
targetPath: ${{ pipelineArtifact.downloadPath }}
|
||||
- task: CopyFiles@2
|
||||
displayName: 'Copy Files to: ${{ pipelineArtifact.targetPath }}'
|
||||
inputs:
|
||||
SourceFolder: ${{ pipelineArtifact.downloadPath }}/${{ pipelineArtifact.artifactName }}
|
||||
TargetFolder: ${{ pipelineArtifact.targetPath }}
|
||||
CleanTargetFolder: true
|
||||
Contents: >-
|
||||
Matrix42.DWP.PerformanceAnalyser*.dll
|
||||
- ${{ if eq(parameters.PackageIncrementStrategy, 'file-based') }}:
|
||||
- powershell: |
|
||||
$packageJsonFile = -join($env:EXTENSION_PATH, "/package.json")
|
||||
$packageConfigJson = get-content $packageJsonFile | ConvertFrom-Json
|
||||
[version]$currentPackageVersion=$packageConfigJson.version
|
||||
|
||||
$newPackageBuild = $currentPackageVersion.Build +1
|
||||
$newPackageVersion = ("{0}.{1}.{2}" -f $currentPackageVersion.Major, $currentPackageVersion.Minor, $newPackageBuild).ToString()
|
||||
$packageConfigJson.version = $newPackageVersion;
|
||||
|
||||
$packageConfigJson | ConvertTo-Json -Depth 100 -Compress | set-content $packageJsonFile
|
||||
|
||||
Write-Host 'Package New Version: $newPackageVersion'
|
||||
Write-Host "##vso[task.setvariable variable=PackageVersion]$newPackageVersion"
|
||||
Write-Host "##vso[task.setvariable variable=PackageBuildNumber]$newPackageBuild"
|
||||
name: UpdatePackageVersion
|
||||
displayName: 'Update Package Version (based on package.json)'
|
||||
env:
|
||||
EXTENSION_PATH: '${{ parameters.PackagePath }}'
|
||||
- task: Matrix42ExtensionsGeneratePackageTask@1
|
||||
displayName: 'Generate Package based on package.json version'
|
||||
inputs:
|
||||
extensionManifest: BasePackage/package.json
|
||||
extensionAdditions: '${{ parameters.PackageAdditions }}'
|
||||
extensionOutput: '$(Build.ArtifactStagingDirectory)/package-$(PackageVersion).zip'
|
||||
extensionManifestOutput: '$(Build.ArtifactStagingDirectory)'
|
||||
developerIdentity: 'ivo-ci-key.pfx'
|
||||
developerIdentityPassword: '$(ivo-key-password)'
|
||||
- ${{ if eq(parameters.PackageIncrementStrategy, 'parameter-based') }}:
|
||||
- powershell: |
|
||||
$packageJsonFile = -join($env:EXTENSION_PATH, "/package.json")
|
||||
$packageConfigJson = get-content $packageJsonFile | ConvertFrom-Json
|
||||
|
||||
$newPackageVersion = ("{0}.{1}" -f $packageConfigJson.version, $env:PACKAGE_BUILD_NUMBER).ToString()
|
||||
Write-Host 'Package New Version: $newPackageVersion'
|
||||
Write-Host "##vso[task.setvariable variable=PackageVersion]$newPackageVersion"
|
||||
name: UpdatePackageVersion
|
||||
displayName: 'Update Package Version (based on parameter)'
|
||||
env:
|
||||
EXTENSION_PATH: '${{ parameters.PackagePath }}'
|
||||
PACKAGE_BUILD_NUMBER: '${{ parameters.PackageBuildNumber }}'
|
||||
- task: Matrix42ExtensionsGeneratePackageTask@1
|
||||
displayName: 'Generate Package based on build number version'
|
||||
inputs:
|
||||
extensionManifest: BasePackage/package.json
|
||||
extensionAdditions: '${{ parameters.PackageAdditions }}'
|
||||
extensionBuildNumber: '${{ parameters.PackageBuildNumber }}'
|
||||
extensionOutput: '$(Build.ArtifactStagingDirectory)/package-$(PackageVersion).zip'
|
||||
extensionManifestOutput: '$(Build.ArtifactStagingDirectory)'
|
||||
developerIdentity: 'ivo-ci-key.pfx'
|
||||
developerIdentityPassword: '$(ivo-key-password)'
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: Publish Package as Pipeline Artifact - $(PackageVersion)
|
||||
inputs:
|
||||
targetPath: '$(Build.ArtifactStagingDirectory)/package-$(PackageVersion).zip'
|
||||
artifactName: Package
|
||||
- script: echo '##vso[task.setvariable variable=PassPackageVersion;isOutput=true]$(PackageVersion)
|
||||
name: PassVersion
|
||||
Reference in New Issue
Block a user