93 lines
2.0 KiB
YAML
93 lines
2.0 KiB
YAML
stages:
|
|
- build
|
|
- upload
|
|
- deploy
|
|
|
|
variables:
|
|
PIPELINE_WORK_DIR_PROD: "./v1"
|
|
PIPELINE_WORK_DIR_DEV: "./v1"
|
|
APICONFIG_BASE64_PROD: ${CICD_APICONFIG_PROD}
|
|
APICONFIG_BASE64_DEV: ${CICD_APICONFIG_DEV}
|
|
CONTAINER_NAME_PROD: "etaapi_prod"
|
|
CONTAINER_NAME_DEV: "etaapi_dev"
|
|
|
|
.generic_build_job: &generic_build_job
|
|
script:
|
|
- cd ${PIPELINE_WORK_DIR}
|
|
- . ./scripts/ci_functions.sh
|
|
- build_docker ${CONTAINER_NAME} ${CICD_APICONFIG}
|
|
|
|
.generic_upload_job: &generic_upload_job
|
|
script:
|
|
- cd ${PIPELINE_WORK_DIR}
|
|
- . ./scripts/ci_functions.sh
|
|
- upload_image
|
|
|
|
build-prod-job:
|
|
stage: build
|
|
needs: []
|
|
variables:
|
|
PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_PROD}"
|
|
CONTAINER_NAME: "${CONTAINER_NAME_PROD}"
|
|
CICD_APICONFIG: "${APICONFIG_BASE64_PROD}"
|
|
only:
|
|
- master
|
|
<<: *generic_build_job
|
|
|
|
upload-prod-job:
|
|
stage: upload
|
|
needs: ["build-prod-job"]
|
|
variables:
|
|
PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_PROD}"
|
|
CONTAINER_NAME: "${CONTAINER_NAME_PROD}"
|
|
only:
|
|
- master
|
|
<<: *generic_upload_job
|
|
|
|
deploy-prod-job:
|
|
stage: deploy
|
|
needs: ["upload-prod-job"]
|
|
variables:
|
|
PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_PROD}"
|
|
CONTAINER_NAME: "${CONTAINER_NAME_PROD}"
|
|
only:
|
|
- master
|
|
script:
|
|
- cd ${PIPELINE_WORK_DIR}
|
|
- . ./scripts/ci_functions.sh
|
|
- deploy_prod
|
|
|
|
build-dev-job:
|
|
stage: build
|
|
needs: []
|
|
variables:
|
|
PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_DEV}"
|
|
CONTAINER_NAME: "${CONTAINER_NAME_DEV}"
|
|
CICD_APICONFIG: "${APICONFIG_BASE64_DEV}"
|
|
only:
|
|
- develop
|
|
<<: *generic_build_job
|
|
|
|
upload-dev-job:
|
|
stage: upload
|
|
needs: ["build-dev-job"]
|
|
variables:
|
|
PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_DEV}"
|
|
CONTAINER_NAME: "${CONTAINER_NAME_DEV}"
|
|
only:
|
|
- develop
|
|
<<: *generic_upload_job
|
|
|
|
deploy-dev-job:
|
|
stage: deploy
|
|
needs: ["upload-dev-job"]
|
|
variables:
|
|
PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_DEV}"
|
|
CONTAINER_NAME: "${CONTAINER_NAME_DEV}"
|
|
only:
|
|
- develop
|
|
script:
|
|
- cd ${PIPELINE_WORK_DIR}
|
|
- . ./scripts/ci_functions.sh
|
|
- deploy_dev
|