variables: coreVersion: "net8.0" targetFrameworkVersion: "v4.8" nugetSource: "https://artifactory.intra.infineon.com/artifactory/api/nuget/ngt-fi-package-main-vir/" 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" assemblyTitle: "Fab2ApprovalSystem" configuration: "Debug" jobs: - job: DebugDotnet steps: - 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 Configuration: $(Configuration) echo Target Framework version: $(TargetFrameworkVersion) echo Assembly title: $(AssemblyTitle) echo MicrosoftBuildEngine: $(msBuild) echo NugetSource: $(NugetSource) 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 "GitCommit" "$(Build.SourceVersion)" dotnet user-secrets list workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Safe storage of app secrets" - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Build" - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Fab2ApprovalTests displayName: "Tests - Build" - script: dotnet test --configuration $(Configuration) workingDirectory: Fab2ApprovalTests displayName: "Tests - Test" - script: dotnet clean --configuration $(Configuration) workingDirectory: Fab2ApprovalTests displayName: "Tests - Clean" - script: dotnet clean --configuration $(Configuration) workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Clean" - job: DebugMicrosoftBuildEngine steps: - 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 Configuration: $(Configuration) echo Target Framework version: $(TargetFrameworkVersion) echo Assembly title: $(AssemblyTitle) echo MicrosoftBuildEngine: $(msBuild) echo NugetSource: $(NugetSource) displayName: "Echo Check" - script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=$(NugetSource) $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem displayName: "Framework - Restore" - script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);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:LastUsedconfiguration=$(Configuration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath=bin/$(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 - Package (.zip for msdeploy.exe)" - task: CopyFiles@2 displayName: 'Copy Files to: D:\' inputs: Contents: "*" SourceFolder: '$(AssemblyTitle)\bin\$(Configuration)\_PublishedWebsites\$(AssemblyTitle)_Package' TargetFolder: 'D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)-$(AssemblyTitle)-Package' OverWrite: true - script: '"$(msBuild)" /target:Clean /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem displayName: "Framework - Clean" - stage: Release displayName: Release pool: name: MesaFabApproval demands: Fab2ApprovalSystem variables: ASPNETCORE_ENVIRONMENT: "Production" assemblyTitle: "Fab2ApprovalSystem" configuration: "Release" jobs: - job: ReleaseDotnet steps: - 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 Configuration: $(Configuration) echo Target Framework version: $(TargetFrameworkVersion) echo Assembly title: $(AssemblyTitle) echo MicrosoftBuildEngine: $(msBuild) echo NugetSource: $(NugetSource) 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 "GitCommit" "$(Build.SourceVersion)" dotnet user-secrets list workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Safe storage of app secrets" - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Build" - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Fab2ApprovalTests displayName: "Tests - Build" - script: dotnet test --configuration $(Configuration) workingDirectory: Fab2ApprovalTests displayName: "Tests - Test" - script: dotnet clean --configuration $(Configuration) workingDirectory: Fab2ApprovalTests displayName: "Tests - Clean" - script: dotnet clean --configuration $(Configuration) workingDirectory: Fab2ApprovalMKLink displayName: "MKLink - Clean" - job: ReleaseMicrosoftBuildEngine steps: - 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 Configuration: $(Configuration) echo Target Framework version: $(TargetFrameworkVersion) echo Assembly title: $(AssemblyTitle) echo MicrosoftBuildEngine: $(msBuild) echo NugetSource: $(NugetSource) displayName: "Echo Check" - script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=$(NugetSource) $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem displayName: "Framework - Restore" - script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);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:LastUsedconfiguration=$(Configuration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath=bin/$(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 - Package (.zip for msdeploy.exe)" - task: CopyFiles@2 displayName: 'Copy Files to: D:\' inputs: Contents: "*" SourceFolder: '$(AssemblyTitle)\bin\$(Configuration)\_PublishedWebsites\$(AssemblyTitle)_Package' TargetFolder: 'D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)-$(AssemblyTitle)-Package' OverWrite: true - script: '"$(msBuild)" /target:Clean /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' workingDirectory: Fab2ApprovalSystem displayName: "Framework - Clean" - script: 'echo $(Build.BuildId)-$(Build.SourceVersion)-bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt' displayName: "Force Fail" enabled: true