chore: add Imagoverum fleet management package
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
parameters:
|
||||
- name: 'BaseDir'
|
||||
type: string
|
||||
- name: 'SuiteRarShare'
|
||||
type: string
|
||||
- name: 'TestsDir'
|
||||
type: string
|
||||
- name: 'TestDllPaths'
|
||||
type: object
|
||||
|
||||
steps:
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
SourceFolder: '${{ parameters.BaseDir }}'
|
||||
Contents: '**'
|
||||
TargetFolder: '${{ parameters.BaseDir }}/ImagoverumFleetManagement'
|
||||
displayName: Copy extension source files
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy suite.rar
|
||||
inputs:
|
||||
SourceFolder: ${{ parameters.SuiteRarShare }}
|
||||
Contents: suite.rar
|
||||
TargetFolder: ${{ parameters.BaseDir }}
|
||||
OverWrite: true
|
||||
- task: ExtractFiles@1
|
||||
displayName: Extract suite.rar
|
||||
inputs:
|
||||
archiveFilePatterns: suite.rar
|
||||
destinationFolder: '"${{ parameters.BaseDir }}\"'
|
||||
cleanDestinationFolder: false
|
||||
overwriteExistingFiles: true
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: 'Restore (net8.0)'
|
||||
inputs:
|
||||
command: 'restore'
|
||||
projects: '${{ parameters.BaseDir }}/ImagoverumFleetManagement/backend/FleetManagement/Imagoverum.FleetManagement.sln'
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: 'Build (net8.0)'
|
||||
inputs:
|
||||
command: 'build'
|
||||
projects: '${{ parameters.BaseDir }}/ImagoverumFleetManagement/backend/FleetManagement/Imagoverum.FleetManagement.sln'
|
||||
arguments: '-c Release --no-restore'
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: 'Build Services (win-x64)'
|
||||
inputs:
|
||||
command: 'build'
|
||||
projects: '${{ parameters.BaseDir }}/ImagoverumFleetManagement/backend/FleetManagement/Imagoverum.FleetManagement.Services/Imagoverum.FleetManagement.Services.csproj'
|
||||
arguments: '-c Release -r win-x64 -p:SolutionDir=$(Build.SourcesDirectory)\ImagoverumFleetManagement\backend\FleetManagement\ --no-restore'
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: 'Build Services (linux-x64)'
|
||||
inputs:
|
||||
command: 'build'
|
||||
projects: '${{ parameters.BaseDir }}/ImagoverumFleetManagement/backend/FleetManagement/Imagoverum.FleetManagement.Services/Imagoverum.FleetManagement.Services.csproj'
|
||||
arguments: '-c Release -r linux-x64 -p:SolutionDir=$(Build.SourcesDirectory)\ImagoverumFleetManagement\backend\FleetManagement\ --no-restore'
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: 'Test (net8.0)'
|
||||
inputs:
|
||||
command: 'test'
|
||||
projects: '${{ parameters.TestsDir }}/Imagoverum.FleetManagement.Tests/Imagoverum.FleetManagement.Tests.csproj'
|
||||
arguments: '-c Release -f net8.0 --no-build'
|
||||
@@ -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
|
||||
@@ -0,0 +1,44 @@
|
||||
parameters:
|
||||
- name: 'SourceDirectory'
|
||||
type: string
|
||||
default: '$(System.DefaultWorkingDirectory)'
|
||||
- name: 'GitBranchName'
|
||||
type: string
|
||||
- name: 'GitUserName'
|
||||
type: string
|
||||
default: 'Pipeline'
|
||||
- name: 'PackagePath'
|
||||
type: string
|
||||
default: 'BasePackage/package.json'
|
||||
- name: 'PackageVersion'
|
||||
type: string
|
||||
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
ECHO Current Branch - ${{ parameters.GitBranchName }}
|
||||
git config --global user.email ${{ parameters.GitUserName }}@matrix42.com & git config --global user.name ${{ parameters.GitUserName }}
|
||||
git fetch origin
|
||||
git checkout ${{ parameters.GitBranchName }}
|
||||
git pull origin ${{ parameters.GitBranchName }} --allow-unrelated-histories
|
||||
displayName: 'Git Pull ${{ parameters.GitBranchName }} branch under ${{ parameters.GitUserName }} user'
|
||||
workingDirectory: ${{ parameters.SourceDirectory }}
|
||||
|
||||
- powershell: |
|
||||
Write-Host "New Package Version: $env:PACKAGE_VERSION"
|
||||
$packageJsonFile = $env:EXTENSION_PATH
|
||||
|
||||
$packageConfigJson = get-content $packageJsonFile | ConvertFrom-Json
|
||||
$packageConfigJson.version = $env:PACKAGE_VERSION
|
||||
$packageConfigJson | ConvertTo-Json -Depth 100 | set-content $packageJsonFile
|
||||
displayName: 'Update package version on git repository'
|
||||
env:
|
||||
EXTENSION_PATH: '${{ parameters.SourceDirectory }}/${{ parameters.PackagePath }}'
|
||||
PACKAGE_VERSION: ${{ parameters.PackageVersion }}
|
||||
|
||||
- script: |
|
||||
git add ${{ parameters.PackagePath }}
|
||||
git commit ${{ parameters.PackagePath }} -m "Build version increment ${{ parameters.PackageVersion }} *CI*"
|
||||
git push --set-upstream --progress "origin" HEAD:${{ parameters.GitBranchName }}
|
||||
displayName: Git Push Update package.json version to ${{ parameters.PackageVersion }}
|
||||
workingDirectory: ${{ parameters.SourceDirectory }}
|
||||
Reference in New Issue
Block a user