Files
oi-metrology/Server/server-pipeline.yml
phares@iscn5cg20977xq a427c5648a - Include root in valid directories
- AppSetting bug fix

- Updated testes with base test class and editor configuration changes

- Created new server and wafer counter tasks json files and pipelines to match
2025-07-29 16:56:09 -07:00

159 lines
5.9 KiB
YAML

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