103 lines
2.7 KiB
YAML
103 lines
2.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 package checksum
|
|
files: package-lock.json yarn.lock
|
|
targetFile: checksum
|
|
condition: NEVER
|
|
- !SetupCacheStep
|
|
name: set up npm cache
|
|
key: node_modules_@file:checksum@
|
|
loadKeys:
|
|
- node_modules
|
|
paths:
|
|
- node_modules
|
|
uploadStrategy: UPLOAD_IF_NOT_HIT
|
|
condition: NEVER
|
|
- !SetBuildVersionStep
|
|
name: set build version
|
|
buildVersion: '@tag@'
|
|
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
|
|
- !CommandStep
|
|
name: build & test
|
|
runInContainer: true
|
|
image: node
|
|
interpreter: !DefaultInterpreter
|
|
commands: |
|
|
npm install
|
|
npm run build
|
|
useTTY: true
|
|
condition: NEVER
|
|
- !BuildImageStep
|
|
name: build docker image
|
|
dockerfile: ./docker/Dockerfile
|
|
output: !RegistryOutput
|
|
tags: '@server@/bma-hrms/hrms-mgt:@build_version@ @server@/bma-hrms/hrms-mgt:latest'
|
|
platforms: linux/amd64
|
|
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 package checksum
|
|
files: package-lock.json yarn.lock
|
|
targetFile: checksum
|
|
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
|
|
- !SetupCacheStep
|
|
name: set up npm cache
|
|
key: node_modules_@file:checksum@
|
|
loadKeys:
|
|
- node_modules
|
|
paths:
|
|
- node_modules
|
|
uploadStrategy: UPLOAD_IF_NOT_HIT
|
|
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
|
|
- !SetBuildVersionStep
|
|
name: set build version
|
|
buildVersion: '@tag@'
|
|
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
|
|
- !CommandStep
|
|
name: build & test
|
|
runInContainer: true
|
|
image: node
|
|
interpreter: !DefaultInterpreter
|
|
commands: |
|
|
npm install
|
|
npm run build
|
|
useTTY: true
|
|
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
|
|
- !BuildImageStep
|
|
name: build docker image
|
|
dockerfile: ./docker/Dockerfile
|
|
output: !RegistryOutput
|
|
tags: '@server@/bma-hrms/hrms-mgt:@build_version@ @server@/bma-hrms/hrms-mgt:latest'
|
|
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
|
|
triggers:
|
|
- !TagCreateTrigger
|
|
tags: prod-*
|
|
branches: main
|
|
retryCondition: never
|
|
maxRetries: 3
|
|
retryDelay: 30
|
|
timeout: 14400
|