chore: add Imagoverum fleet management package
This commit is contained in:
120
ImagoverumFleetManagement/azure-pipelines-ci.yaml
Normal file
120
ImagoverumFleetManagement/azure-pipelines-ci.yaml
Normal file
@@ -0,0 +1,120 @@
|
||||
# azure-pipelines.yml
|
||||
|
||||
pr: none
|
||||
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
- dev_initialrequest
|
||||
paths:
|
||||
include:
|
||||
- 'Solutions/**'
|
||||
|
||||
parameters:
|
||||
- name: BaseDir
|
||||
type: string
|
||||
default: $(Build.SourcesDirectory)
|
||||
|
||||
- name: SuiteRarShare
|
||||
type: string
|
||||
default: '\\m42-sto-ffm01.matrix42.de\ServiceStore\Builds\TitanLinux Continuous'
|
||||
|
||||
- name: RepoName
|
||||
type: string
|
||||
default: 'ImagoverumFleetManagement'
|
||||
|
||||
variables:
|
||||
- name: BaseDir
|
||||
value: ${{ parameters.BaseDir }}
|
||||
|
||||
- name: ExtensionTarget
|
||||
value: ${{ parameters.BaseDir }}/${{ parameters.RepoName }}
|
||||
|
||||
- name: BackendDir
|
||||
value: $(ExtensionTarget)/Solutions/FleetManagement
|
||||
|
||||
- name: SolutionPath
|
||||
value: $(BackendDir)/Imagoverum.FleetManagement.sln
|
||||
|
||||
# Tests
|
||||
- name: TestsDir
|
||||
value: $(ExtensionTarget)/Solutions/FleetManagement
|
||||
- name: TestProject
|
||||
value: Imagoverum.FleetManagement.Tests/Imagoverum.FleetManagement.Tests.csproj
|
||||
|
||||
stages:
|
||||
- stage: Build
|
||||
displayName: 'Build ${{ parameters.RepoName }}'
|
||||
jobs:
|
||||
- job: Build_Backend
|
||||
displayName: 'Build, Test, Package'
|
||||
pool:
|
||||
name: M42BPM
|
||||
demands:
|
||||
- DotNetFramework
|
||||
- vstest
|
||||
|
||||
steps:
|
||||
- task: CopyFiles@2
|
||||
displayName: 'Copy extension $(ExtensionTarget) source files'
|
||||
inputs:
|
||||
SourceFolder: '${{ parameters.BaseDir }}'
|
||||
Contents: '**'
|
||||
TargetFolder: '$(ExtensionTarget)'
|
||||
|
||||
- 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: '${{ parameters.BaseDir }}/suite.rar'
|
||||
destinationFolder: '${{ parameters.BaseDir }}'
|
||||
cleanDestinationFolder: false
|
||||
overwriteExistingFiles: true
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: 'Restore $(ExtensionTarget) solution'
|
||||
inputs:
|
||||
command: 'restore'
|
||||
projects: '$(SolutionPath)'
|
||||
|
||||
# Optional: override default RIDs globally if needed: -p:M42DefaultRids=win-x64;linux-x64
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: 'Build FleetManagement solution'
|
||||
inputs:
|
||||
command: 'build'
|
||||
projects: '$(SolutionPath)'
|
||||
arguments: >
|
||||
-c Release
|
||||
--no-restore
|
||||
-p:SolutionDir=$(BackendDir)\
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: 'Test (net8.0)'
|
||||
inputs:
|
||||
command: 'test'
|
||||
projects: '$(TestsDir)/$(TestProject)'
|
||||
arguments: '-c Release -f net8.0 --no-build'
|
||||
|
||||
- task: ArchiveFiles@2
|
||||
displayName: 'Zip $(ExtensionTarget) BasePackage'
|
||||
inputs:
|
||||
rootFolderOrFile: '$(ExtensionTarget)/BasePackage'
|
||||
includeRootFolder: false
|
||||
archiveType: 'zip'
|
||||
sevenZipCompression: 'normal'
|
||||
archiveFile: '$(Build.ArtifactStagingDirectory)/${{ parameters.RepoName }}_1.0.zip'
|
||||
replaceExistingArchive: true
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: 'Publish ${{ parameters.RepoName }}_1.0.zip'
|
||||
inputs:
|
||||
targetPath: '$(Build.ArtifactStagingDirectory)/${{ parameters.RepoName }}_1.0.zip'
|
||||
artifact: '${{ parameters.RepoName }}'
|
||||
Reference in New Issue
Block a user