100 lines
2.2 KiB
YAML
100 lines
2.2 KiB
YAML
stages:
|
|
- build
|
|
- upload
|
|
- deploy
|
|
|
|
variables:
|
|
PIPELINE_WORK_DIR_V1: "./v1"
|
|
CONTAINER_NAME_V1: "eta-etaapi"
|
|
PIPELINE_WORK_DIR_V2: "./v2"
|
|
CONTAINER_NAME_V2: "eta-etaapiv2"
|
|
PUBLIC_PORT_V1: 7001
|
|
PRIVATE_PORT_V1: 3000
|
|
PUBLIC_PORT_V2: 7002
|
|
PRIVATE_PORT_V2: 3000
|
|
|
|
.generic_build_job: &generic_build_job
|
|
script:
|
|
- cd $PIPELINE_WORK_DIR
|
|
- . ./scripts/ci_functions.sh
|
|
- build_docker $CONTAINER_NAME
|
|
only:
|
|
- master
|
|
|
|
.generic_upload_job: &generic_upload_job
|
|
script:
|
|
- cd $PIPELINE_WORK_DIR
|
|
- . ./scripts/ci_functions.sh
|
|
- upload_image
|
|
only:
|
|
- master
|
|
|
|
.generic_deploy_job: &generic_deploy_job
|
|
script:
|
|
- cd $PIPELINE_WORK_DIR
|
|
- . ./scripts/ci_functions.sh
|
|
- deploy
|
|
only:
|
|
- master
|
|
|
|
|
|
build-v1-job:
|
|
stage: build
|
|
needs: []
|
|
variables:
|
|
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V1"
|
|
CONTAINER_NAME: "$CONTAINER_NAME_V1"
|
|
PUBLIC_PORT: "$PUBLIC_PORT_V1"
|
|
PRIVATE_PORT: "$PRIVATE_PORT_V1"
|
|
<<: *generic_build_job
|
|
|
|
build-v2-job:
|
|
stage: build
|
|
needs: []
|
|
variables:
|
|
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V2"
|
|
CONTAINER_NAME: "$CONTAINER_NAME_V2"
|
|
PUBLIC_PORT: "$PUBLIC_PORT_V2"
|
|
PRIVATE_PORT: "$PRIVATE_PORT_V2"
|
|
<<: *generic_build_job
|
|
|
|
upload-v1-job:
|
|
stage: upload
|
|
needs: ["build-v1-job"]
|
|
variables:
|
|
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V1"
|
|
CONTAINER_NAME: "$CONTAINER_NAME_V1"
|
|
PUBLIC_PORT: "$PUBLIC_PORT_V1"
|
|
PRIVATE_PORT: "$PRIVATE_PORT_V1"
|
|
<<: *generic_upload_job
|
|
|
|
upload-v2-job:
|
|
stage: upload
|
|
needs: ["build-v2-job"]
|
|
variables:
|
|
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V2"
|
|
CONTAINER_NAME: "$CONTAINER_NAME_V2"
|
|
PUBLIC_PORT: "$PUBLIC_PORT_V2"
|
|
PRIVATE_PORT: "$PRIVATE_PORT_V2"
|
|
<<: *generic_upload_job
|
|
|
|
deploy-v1-job:
|
|
stage: deploy
|
|
needs: ["upload-v1-job"]
|
|
variables:
|
|
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V1"
|
|
CONTAINER_NAME: "$CONTAINER_NAME_V1"
|
|
PUBLIC_PORT: "$PUBLIC_PORT_V1"
|
|
PRIVATE_PORT: "$PRIVATE_PORT_V1"
|
|
<<: *generic_deploy_job
|
|
|
|
deploy-v2-job:
|
|
stage: deploy
|
|
needs: ["upload-v2-job"]
|
|
variables:
|
|
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V2"
|
|
CONTAINER_NAME: "$CONTAINER_NAME_V2"
|
|
PUBLIC_PORT: "$PUBLIC_PORT_V2"
|
|
PRIVATE_PORT: "$PRIVATE_PORT_V2"
|
|
<<: *generic_deploy_job
|