- Updated links in the following files: - Static/Metrology/AwaitingDispo/index.html - Static/Metrology/Export/index.html - Static/Metrology/RunHeaders/index.html - Static/Metrology/RunInfo/index.html - Static/Metrology/index.html - Static/RunHeaders/index.html - Static/RunInfo/index.html - Static/awaiting-disposition.html - Static/export.html - Static/files.html - Static/index.html - Static/run-headers.html Removed obsolete HTTP request files from Tests/.vscode directory. - Deleted files: - tc_col_metrology-viewer-dev.http - tc_col_metrology-viewer-v1.http - tc_col_metrology-viewer-v2.http - tc_col_metrology-viewer-v3.http - tc_col_metrology-viewer-v4.http - tc_col_metrology-viewer.http - wafer-counter.http Added new HTTP request files for development and production environments. - Added files: - api-metrology-viewer-dev.http - api-metrology-viewer.http - api-v1-InfinityQS.http - api-v1-wafer-counter.http - api-v2-InfinityQS.http - api-v3-InfinityQS.http - api-v4-InfinityQS.http Updated Unit Tests for Inbound and WaferCounter controllers to reflect changes in repository methods and test scenarios. - Modified UnitTestWaferCounterController.cs to change area and wafer size parameters. - Removed UnitInboundController.cs and added new tests for InboundController functionality. Refactored FileShareRepository and WaferCounterRepository to improve file handling and data retrieval logic. - Updated methods to handle multiple file extensions and improve error handling. - Adjusted logic for retrieving last quantity and slot map based on file type. Added static pipeline configuration for deployment. - Created static-pipeline.yml for automated deployment process.
204 lines
8.3 KiB
YAML
204 lines
8.3 KiB
YAML
trigger:
|
|
branches:
|
|
include:
|
|
- master
|
|
paths:
|
|
include:
|
|
- 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'
|
|
userSecretsId: 'b0a3891c-b775-422c-80ee-63a2f385045d'
|
|
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)
|
|
echo UserSecretsId: $(UserSecretsId)
|
|
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: 'App - Safe storage of app secrets'
|
|
|
|
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
|
|
workingDirectory: Server
|
|
displayName: 'App - 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) --runtime $(Runtime) --self-contained
|
|
workingDirectory: Server
|
|
displayName: 'App - Publish'
|
|
|
|
- script: dotnet publish --configuration $(Configuration) --runtime $(Runtime) -p:PublishAot=true
|
|
workingDirectory: Server
|
|
displayName: 'App - AOT Publish'
|
|
enabled: false
|
|
|
|
- task: CopyFiles@2
|
|
displayName: 'Copy Files to: D:\'
|
|
inputs:
|
|
Contents: '*'
|
|
SourceFolder: 'Server\bin\$(Configuration)\$(CoreVersion)\$(Runtime)\publish'
|
|
TargetFolder: 'D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)'
|
|
OverWrite: true
|
|
|
|
- script: dotnet clean --configuration $(Configuration)
|
|
workingDirectory: Tests
|
|
displayName: 'Tests - Clean'
|
|
|
|
- script: dotnet clean --configuration $(Configuration)
|
|
workingDirectory: Server
|
|
displayName: 'App - Clean'
|
|
|
|
- script: C:/Windows/system32/inetsrv/appcmd.exe stop apppool /apppool.name:$(AssemblyTitle).$(Configuration)
|
|
workingDirectory: Server
|
|
displayName: 'Stop Pool'
|
|
continueOnError: true
|
|
|
|
- script: C:/Windows/system32/inetsrv/appcmd.exe stop site /site.name:$(AssemblyTitle).$(Configuration)
|
|
workingDirectory: Server
|
|
displayName: 'Stop Website'
|
|
continueOnError: true
|
|
|
|
- script: rmdir "D:\web-sites\$(AssemblyTitle).$(Configuration)"
|
|
workingDirectory: Server
|
|
displayName: 'Remove MKLink'
|
|
continueOnError: true
|
|
|
|
- script: mklink /J "D:\web-sites\$(AssemblyTitle).$(Configuration)" "D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)"
|
|
workingDirectory: Server
|
|
displayName: 'Create MKLink'
|
|
|
|
- script: mkdir "D:\web-sites\$(AssemblyTitle).$(Configuration)\$(AssemblyTitle).$(Configuration)"
|
|
workingDirectory: Server
|
|
displayName: 'Make Directory'
|
|
continueOnError: true
|
|
|
|
- script: (robocopy /E /IS /IT /IM "%USERPROFILE%/AppData/Roaming/Microsoft/UserSecrets/$(UserSecretsId)" "D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)" secrets.json) ^& IF %ERRORLEVEL% LEQ 7 exit 0
|
|
workingDirectory: Server
|
|
displayName: 'Replace User Secrets Id File'
|
|
|
|
- script: (robocopy /E /IS /IT /IM "%USERPROFILE%/AppData/Roaming/Microsoft/UserSecrets/$(UserSecretsId)" "D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)" web.config) ^& IF %ERRORLEVEL% LEQ 7 exit 0
|
|
workingDirectory: Server
|
|
displayName: 'Replace Web Configuration File'
|
|
|
|
- script: C:/Windows/system32/inetsrv/appcmd.exe start apppool /apppool.name:$(AssemblyTitle).$(Configuration)
|
|
workingDirectory: Server
|
|
displayName: 'Start Pool'
|
|
|
|
- script: C:/Windows/system32/inetsrv/appcmd.exe start site /site.name:$(AssemblyTitle).$(Configuration)
|
|
workingDirectory: Server
|
|
displayName: 'Start Website'
|
|
|
|
- script: hurl.exe server-development.hurl --verbose
|
|
workingDirectory: Tests
|
|
displayName: 'Test Website'
|
|
|
|
- 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: 'App - Safe storage of app secrets'
|
|
|
|
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
|
|
workingDirectory: Server
|
|
displayName: 'App - 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) --runtime $(Runtime) --self-contained
|
|
workingDirectory: Server
|
|
displayName: 'App - Publish'
|
|
|
|
- script: dotnet publish --configuration $(Configuration) --runtime $(Runtime) -p:PublishAot=true
|
|
workingDirectory: Server
|
|
displayName: 'App - AOT Publish'
|
|
enabled: false
|
|
|
|
- task: CopyFiles@2
|
|
displayName: 'Copy Files to: D:\'
|
|
inputs:
|
|
Contents: '*'
|
|
SourceFolder: 'Server\bin\$(Configuration)\$(CoreVersion)\$(Runtime)\publish'
|
|
TargetFolder: 'D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)'
|
|
OverWrite: true
|
|
|
|
- script: dotnet clean --configuration $(Configuration)
|
|
workingDirectory: Tests
|
|
displayName: 'Tests - Clean'
|
|
|
|
- script: dotnet clean --configuration $(Configuration)
|
|
workingDirectory: Server
|
|
displayName: 'App - Clean'
|
|
|
|
- script: 'echo $(Build.SourceVersion)-$(Build.BuildId)>bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt'
|
|
displayName: 'Force Fail'
|
|
enabled: false
|