mesa-fab-approval/azure-pipelines.yml
2025-02-13 17:22:12 +01:00

115 lines
5.3 KiB
YAML

trigger:
branches:
include:
- master
paths:
include:
- "Fab2ApprovalSystem/*"
exclude:
- "**/*.yaml"
- "**/*.yml"
- "SQL/*"
- "references/*"
- "packages/*"
- "Kendo/*"
variables:
buildConfiguration: "Release"
targetFrameworkVersion: "v4.8"
coreVersion: "na"
assemblyTitle: "Fab2ApprovalSystem"
architecture: "x64"
msBuild: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe"
stages:
- stage: Development
displayName: Development
pool:
name: MesaFabApproval
demands: Fab2ApprovalSystem-Dev
variables:
ASPNETCORE_ENVIRONMENT: "Development"
configuration: "Debug"
jobs:
- job: Debug
steps:
- script: |
set gitCommit=$(Build.SourceVersion)
set gitCommitSeven=%gitCommit:~0,7%
echo %gitCommitSeven%
echo ##vso[task.setvariable variable=GitCommitSeven;]%gitCommitSeven%
echo $(GitCommitSeven)
displayName: GitCommitSeven
- script: |
echo BuildId: $(Build.BuildId)
echo Build reason: $(Build.Reason)
echo Repo Id: $(Build.Repository.Id)
echo Repo name: $(Build.Repository.Name)
echo Source version: $(Build.SourceVersion)
echo Core version: $(CoreVersion)
echo Build configuration: $(BuildConfiguration)
echo Configuration: $(Configuration)
echo Target Framework version: $(TargetFrameworkVersion)
echo Assembly title: $(AssemblyTitle)
echo MSBuild: $(msBuild)
displayName: "Echo Check"
- script: |
mklink /J ".vscode\.UserSecrets" "%AppData%\Microsoft\UserSecrets\f2da5035-aba9-4676-9f8d-d6689f84663d"
mklink /J "DMO" "..\Fab2ApprovalSystem\DMO"
mklink /J "Jobs" "..\Fab2ApprovalSystem\Jobs"
mklink /J "JobSchedules" "..\Fab2ApprovalSystem\JobSchedules"
mklink /J "Misc" "..\Fab2ApprovalSystem\Misc"
mklink /J "Models" "..\Fab2ApprovalSystem\Models"
mklink /J "PdfGenerator" "..\Fab2ApprovalSystem\PdfGenerator"
mklink /J "Utilities" "..\Fab2ApprovalSystem\Utilities"
mklink /J "ViewModels" "..\Fab2ApprovalSystem\ViewModels"
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Symbolic Link of Type Junction"
- script: |
dotnet user-secrets init
dotnet user-secrets set BuildNumber $(Build.BuildId)
dotnet user-secrets set GitCommitSeven $(GitCommitSeven)
dotnet user-secrets list
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Safe storage of app secrets"
- script: dotnet build --configuration $(buildConfiguration)
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Build"
- script: dotnet build --configuration $(buildConfiguration)
workingDirectory: Fab2ApprovalTests
displayName: "Tests - Build"
- script: dotnet test --configuration $(buildConfiguration)
workingDirectory: Fab2ApprovalTests
displayName: "Tests - Test"
- script: dotnet clean --configuration $(buildConfiguration)
workingDirectory: Fab2ApprovalTests
displayName: "Tests - Clean"
- script: dotnet clean --configuration $(buildConfiguration)
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Clean"
- script: echo $(Build.SourceVersion)-$(Build.BuildId)>bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt
workingDirectory: Fab2ApprovalMKLink
displayName: "Force Fail"
enabled: "false"
- script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=D:/nupkg $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Restore"
- script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Build"
- script: '"$(msBuild)" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedBuildConfiguration=$(BuildConfiguration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath="D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)" /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Pack"