138 lines
4.7 KiB
YAML
138 lines
4.7 KiB
YAML
version: 38
|
|
jobs:
|
|
# - name: CI for 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: ./Dockerfile
|
|
# output: !RegistryOutput
|
|
# tags: "@server@/bma-hrms/hrms-api-reportv1:@build_version@ @server@/bma-hrms/hrms-api-reportv1:latest"
|
|
# condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
|
|
# triggers:
|
|
# - !TagCreateTrigger
|
|
# tags: uat-*
|
|
# branches: main
|
|
# retryCondition: never
|
|
# maxRetries: 3
|
|
# retryDelay: 30
|
|
# timeout: 14400
|
|
- name: CI for PROD
|
|
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: ./Dockerfile
|
|
output: !RegistryOutput
|
|
tags: "@server@/bma-hrms/hrms-api-reportv1:@build_version@ @server@/bma-hrms/hrms-api-reportv1:latest"
|
|
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
|
|
triggers:
|
|
- !TagCreateTrigger
|
|
tags: prod-*
|
|
branches: main
|
|
retryCondition: never
|
|
maxRetries: 3
|
|
retryDelay: 30
|
|
timeout: 14400
|