trigger: branches: include: - master paths: include: - Shared - Server variables: runtime: 'win-x64' coreVersion: 'net8.0' nugetSource: 'https://artifactory.intra.infineon.com/artifactory/api/nuget/ngt-fi-package-main-vir/' stages: - stage: Development displayName: Development pool: name: 'OpenInsight Metrology Viewer' demands: OpenInsight-Metrology-Viewer-Server-Development variables: ASPNETCORE_ENVIRONMENT: 'Development' assemblyTitle: 'OI.Metrology.Server' configuration: 'Debug' jobs: - job: DebugDotnet steps: - script: | echo Assembly Title: $(AssemblyTitle) echo Build Id: $(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 Configuration: $(Configuration) echo Core Version: $(CoreVersion) echo Nuget Source: $(NugetSource) echo Runtime: $(Runtime) displayName: 'Echo Check' - script: | dotnet user-secrets init dotnet user-secrets set BuildNumber $(Build.BuildId) dotnet user-secrets set GitCommit $(Build.SourceVersion) dotnet user-secrets list workingDirectory: Server displayName: 'Server - Safe storage of app secrets' - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Server displayName: 'Server - Build' - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Tests displayName: 'Tests - Build' - script: dotnet test --configuration $(Configuration) workingDirectory: Tests displayName: 'Tests - Test' - script: dotnet publish --configuration $(Configuration) workingDirectory: Server displayName: 'Server - Publish' enabled: false - script: dotnet publish --configuration $(Configuration) --runtime $(Runtime) -p:PublishAot=true workingDirectory: Server displayName: 'Server - AOT Publish' - task: CopyFiles@2 displayName: 'Copy Files to: D:\' inputs: Contents: "*" SourceFolder: 'Server\bin\$(Configuration)\$(CoreVersion)\$(Runtime)\publish' TargetFolder: 'D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)-$(AssemblyTitle)-AOT' OverWrite: true - script: dotnet clean --configuration $(Configuration) workingDirectory: Tests displayName: 'Tests - Clean' - script: dotnet clean --configuration $(Configuration) workingDirectory: Server displayName: 'Server - Clean' - stage: Release displayName: Release pool: name: 'OpenInsight Metrology Viewer' demands: OpenInsight-Metrology-Viewer-Server variables: ASPNETCORE_ENVIRONMENT: 'Production' assemblyTitle: 'OI.Metrology.Server' configuration: 'Release' jobs: - job: ReleaseDotnet steps: - script: | echo Assembly Title: $(AssemblyTitle) echo Build Id: $(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 Configuration: $(Configuration) echo Core Version: $(CoreVersion) echo Nuget Source: $(NugetSource) echo Runtime: $(Runtime) displayName: 'Echo Check' - script: | dotnet user-secrets init dotnet user-secrets set BuildNumber $(Build.BuildId) dotnet user-secrets set GitCommit $(Build.SourceVersion) dotnet user-secrets list workingDirectory: Server displayName: 'Server - Safe storage of app secrets' - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Server displayName: 'Server - Build' - script: dotnet build --configuration $(Configuration) --source $(NugetSource) workingDirectory: Tests displayName: 'Tests - Build' - script: dotnet test --configuration $(Configuration) workingDirectory: Tests displayName: 'Tests - Test' - script: dotnet publish --configuration $(Configuration) workingDirectory: Server displayName: 'Server - Publish' enabled: false - script: dotnet publish --configuration $(Configuration) --runtime $(Runtime) -p:PublishAot=true workingDirectory: Server displayName: 'Server - AOT Publish' - task: CopyFiles@2 displayName: 'Copy Files to: D:\' inputs: Contents: '*' SourceFolder: 'Server\bin\$(Configuration)\$(CoreVersion)\$(Runtime)\publish' TargetFolder: 'D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)-$(AssemblyTitle)-AOT' OverWrite: true - script: dotnet clean --configuration $(Configuration) workingDirectory: Tests displayName: 'Tests - Clean' - script: dotnet clean --configuration $(Configuration) workingDirectory: Server displayName: 'Server - Clean' - script: 'echo $(Build.SourceVersion)-$(Build.BuildId)>bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt' displayName: 'Force Fail' enabled: false