From 8bb31b4e73708195a5d40602502d336ccf7481d7 Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Tue, 23 Dec 2025 20:30:37 +0700 Subject: [PATCH] updated deploy --- .onedev/build-leave.yml | 117 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 112 insertions(+), 5 deletions(-) diff --git a/.onedev/build-leave.yml b/.onedev/build-leave.yml index c89f0c51..21b0b4a6 100644 --- a/.onedev/build-leave.yml +++ b/.onedev/build-leave.yml @@ -1,5 +1,73 @@ -version: 37 +version: 38 jobs: + - name: CI for Leave UAT + steps: + - !CheckoutStep + name: checkout code + cloneCredential: !DefaultCredential {} + withLfs: false + withSubmodules: false + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !GenerateChecksumStep + name: generate project checksum + files: "**/*.csproj" + targetFile: checksum + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !SetupCacheStep + name: set up nuget cache + key: nuget_packages_@file:checksum@ + loadKeys: + - nuget_packages + paths: + - /root/.nuget/packages + uploadStrategy: UPLOAD_IF_NOT_HIT + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !CommandStep + name: test and analyze + runInContainer: true + image: mcr.microsoft.com/dotnet/sdk + interpreter: !DefaultInterpreter + commands: | + set -e + dotnet tool install -g roslynator.dotnet.cli + dotnet test -l trx --collect:"XPlat Code Coverage" + #/root/.dotnet/tools/roslynator analyze -o roslynator-analysis.xml + useTTY: true + condition: NEVER + - !PublishTRXReportStep + name: publish unit test report + reportName: Unit Test + filePatterns: "**/*.trx" + condition: NEVER + - !PublishCoberturaReportStep + name: publish code coverage report + reportName: Code Coverage + filePatterns: "**/coverage.cobertura.xml" + condition: NEVER + - !PublishRoslynatorReportStep + name: publish code problem report + reportName: Code Problems + filePatterns: roslynator-analysis.xml + failThreshold: HIGH + condition: NEVER + - !SetBuildVersionStep + name: set build version + buildVersion: "@tag@" + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !BuildImageStep + name: build docker image + dockerfile: ./BMA.EHR.Leave/Dockerfile + output: !RegistryOutput + tags: "@server@/bma-hrms/hrms-api-leave:@build_version@ @server@/bma-hrms/hrms-api-leave:latest" + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + triggers: + - !TagCreateTrigger + tags: leave-uat-* + branches: main + retryCondition: never + maxRetries: 3 + retryDelay: 30 + timeout: 14400 - name: CI for Leave PROD steps: - !CheckoutStep @@ -8,19 +76,58 @@ jobs: withLfs: false withSubmodules: false condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - + - !GenerateChecksumStep + name: generate project checksum + files: "**/*.csproj" + targetFile: checksum + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !SetupCacheStep + name: set up nuget cache + key: nuget_packages_@file:checksum@ + loadKeys: + - nuget_packages + paths: + - /root/.nuget/packages + uploadStrategy: UPLOAD_IF_NOT_HIT + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !CommandStep + name: test and analyze + runInContainer: true + image: mcr.microsoft.com/dotnet/sdk + interpreter: !DefaultInterpreter + commands: | + set -e + dotnet tool install -g roslynator.dotnet.cli + dotnet test -l trx --collect:"XPlat Code Coverage" + #/root/.dotnet/tools/roslynator analyze -o roslynator-analysis.xml + useTTY: true + condition: NEVER + - !PublishTRXReportStep + name: publish unit test report + reportName: Unit Test + filePatterns: "**/*.trx" + condition: NEVER + - !PublishCoberturaReportStep + name: publish code coverage report + reportName: Code Coverage + filePatterns: "**/coverage.cobertura.xml" + condition: NEVER + - !PublishRoslynatorReportStep + name: publish code problem report + reportName: Code Problems + filePatterns: roslynator-analysis.xml + failThreshold: HIGH + condition: NEVER - !SetBuildVersionStep name: set build version buildVersion: "@tag@" condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - - !BuildImageStep name: build docker image dockerfile: ./BMA.EHR.Leave/Dockerfile output: !RegistryOutput - tags: "hrms-git.bangkok.go.th/bma-hrms/hrms-api-leave:@build_version@ hrms-git.bangkok.go.th/bma-hrms/hrms-api-leave:latest" + tags: "@server@/bma-hrms/hrms-api-leave:@build_version@ @server@/bma-hrms/hrms-api-leave:latest" condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - triggers: - !TagCreateTrigger tags: leave-prod-*