feat: Adding dev/prod ci/cd with deploy using Dokploy registry
This commit is contained in:
@@ -1,58 +1,88 @@
|
||||
stages:
|
||||
- build
|
||||
- upload
|
||||
- deploy
|
||||
|
||||
variables:
|
||||
PIPELINE_WORK_DIR_V1: "./v1"
|
||||
CONTAINER_NAME_V1: "etaapi"
|
||||
PIPELINE_WORK_DIR_V2: "./v2"
|
||||
CONTAINER_NAME_V2: "etaapi"
|
||||
PUBLIC_PORT_V1: 7001
|
||||
PRIVATE_PORT_V1: 3000
|
||||
PUBLIC_PORT_V2: 7002
|
||||
PRIVATE_PORT_V2: 3000
|
||||
PIPELINE_WORK_DIR_PROD: "./v1"
|
||||
PIPELINE_WORK_DIR_DEV: "./v1"
|
||||
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
|
||||
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:
|
||||
build-prod-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"
|
||||
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_PROD"
|
||||
CONTAINER_NAME: "$CONTAINER_NAME_PROD"
|
||||
only:
|
||||
- master
|
||||
<<: *generic_build_job
|
||||
|
||||
upload-v1-job:
|
||||
upload-prod-job:
|
||||
stage: upload
|
||||
needs: ["build-v1-job"]
|
||||
needs: ["build-prod-job"]
|
||||
variables:
|
||||
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_V1"
|
||||
CONTAINER_NAME: "$CONTAINER_NAME_V1"
|
||||
PUBLIC_PORT: "$PUBLIC_PORT_V1"
|
||||
PRIVATE_PORT: "$PRIVATE_PORT_V1"
|
||||
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"
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user