gitlab-ci
Fri Aug 04 2023 03:35:39 GMT+0000 (Coordinated Universal Time)
Saved by @namnt
variables:
APP_NAME: app_name
DOCKER_HUB_PULL: hub.vtcc.vn:8989
DOCKER_HUB_PUSH: hub.vtcc.vn:8999
OUTPUT_IMAGE_TAG: $DOCKER_HUB_PUSH/vtcc/chatbot/$APP_NAME
DOCKER_HUB_USER: vtcc
DOCKER_HUB_PASS: vtcc@2017
SSH_SKIP_VERIFY: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
stages:
- build
- build_image
- deploy
.template_build: &build_tmp
stage: build
variables:
MODULE: module
JAR_FILE: jar_file_name
DOCKER_FILE: path_to_docker_file
script:
- javapath=$(ls /usr/lib/jvm | grep -m1 java-11-openjdk)
- export JAVA_HOME="/usr/lib/jvm/$javapath"
- export PATH=$JAVA_HOME/bin:$PATH
- mvn clean package -B -Dmaven.test.skip=true
- mkdir -p artifacts/$APP_NAME/target
- cp $MODULE/target/$JAR_FILE artifacts/$APP_NAME/target
- cp $MODULE/$DOCKER_FILE artifacts/$APP_NAME
artifacts:
expire_in: 1 day
paths:
- artifacts
tags:
- build
.template_build_image: &build_image_tmp
stage: build_image
script:
- cd artifacts/$APP_NAME
- ls -l
- LOG=$(docker build .)
- IMAGE_ID=$(echo $LOG | awk -F"Successfully built" '{print $2}')
- echo "IMAGE_ID:" $IMAGE_ID
- docker tag $IMAGE_ID $OUTPUT_IMAGE_TAG:latest
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PASS $DOCKER_HUB_PUSH
- docker push $OUTPUT_IMAGE_TAG:latest
artifacts:
expire_in: 1 day
tags:
- docker-build
.template_deploy_docker: &deploy_docker_tmp
stage: deploy
variables:
DEPLOY_USER: deploy_user
DEPLOY_HOST: deploy_host
DEPLOY_PATH: deploy_path
CONF_PATH: config_path
DOCKER_COMPOSE_PATH: docker_compose_path
script:
- echo 'Deploy to' $DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH
- ssh $SSH_SKIP_VERIFY -tt $DEPLOY_USER@$DEPLOY_HOST "mkdir -p $DEPLOY_PATH"
- ssh $SSH_SKIP_VERIFY -tt $DEPLOY_USER@$DEPLOY_HOST "mkdir -p $DEPLOY_PATH/config"
- ssh $SSH_SKIP_VERIFY -tt $DEPLOY_USER@$DEPLOY_HOST "cd $DEPLOY_PATH && docker-compose down || true"
- scp $SSH_SKIP_VERIFY $DOCKER_COMPOSE_PATH $DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH/docker-compose.yml
# - scp $SSH_SKIP_VERIFY -r $CONF_PATH $DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH/config
- 'rsync -e "ssh -o StrictHostKeyChecking=no" -aii --recursive --delete $CONF_PATH/ $DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH/config/'
- ssh $SSH_SKIP_VERIFY -tt $DEPLOY_USER@$DEPLOY_HOST "cd $DEPLOY_PATH && docker-compose pull && docker-compose up -d"
tags:
- deploy
build_dev_bitel:
<<: *build_tmp
variables:
MODULE: bitel
JAR_FILE: bitel-0.0.1-SNAPSHOT.jar
APP_NAME: bitel-gateway
DOCKER_FILE: Dockerfile
only:
refs:
- bitel
build_image_dev_bitel:
<<: *build_image_tmp
variables:
APP_NAME: bitel-gateway
dependencies:
- build_dev_bitel
only:
refs:
- bitel
deploy_dev_bitel:
<<: *deploy_docker_tmp
variables:
DEPLOY_USER: platform
DEPLOY_HOST: 192.168.101.43
DEPLOY_PATH: /home/platform/bitel/deploy
CONF_PATH: bitel/src/main/resources/
DOCKER_COMPOSE_PATH: bitel/docker-compose.yml
dependencies:
- build_image_dev_bitel
only:
refs:
- bitel
#Test-tool
build_test_bot_dev:
<<: *build_tmp
variables:
MODULE: test_bot
JAR_FILE: test_bot-0.0.1-SNAPSHOT.jar
APP_NAME: test-tool
DOCKER_FILE: Dockerfile
only:
refs:
- feature/test_tool_dev
build_image_test_bot_dev:
<<: *build_image_tmp
variables:
APP_NAME: test-tool
dependencies:
- build_test_bot_dev
only:
refs:
- feature/test_tool_dev
deploy_test_bot_dev:
<<: *deploy_docker_tmp
variables:
DEPLOY_USER: platform
DEPLOY_HOST: 192.168.101.43
DEPLOY_PATH: /home/platform/test-tool/deploy
CONF_PATH: test_bot/src/main/resources/
DOCKER_COMPOSE_PATH: test_bot/docker-compose.yml
dependencies:
- build_image_test_bot_dev
only:
refs:
- feature/test_tool_dev
# CYBERBOT-CMS-HCC
build_CYBERBOT_CMS_HCC_dev:
<<: *build_tmp
variables:
MODULE: Cyberbot_CMS_HCC
JAR_FILE: Cyberbot_CMS_HCC-0.0.1-SNAPSHOT.jar
APP_NAME: cyberbot-cms-hcc
DOCKER_FILE: Dockerfile
only:
refs:
- cyberbot-CMS-HCC-dev
build_image_CYBERBOT_CMS_HCC_dev:
<<: *build_image_tmp
variables:
APP_NAME: cyberbot-cms-hcc
dependencies:
- build_CYBERBOT_CMS_HCC_dev
only:
refs:
- cyberbot-CMS-HCC-dev
deploy_CYBERBOT_CMS_HCC_dev:
<<: *deploy_docker_tmp
variables:
DEPLOY_USER: platform
DEPLOY_HOST: 192.168.101.43
DEPLOY_PATH: /home/platform/cyberbot-cms-hcc/deploy
CONF_PATH: Cyberbot_CMS_HCC/src/main/resources
DOCKER_COMPOSE_PATH: Cyberbot_CMS_HCC/docker-compose.yml
dependencies:
- build_image_CYBERBOT_CMS_HCC_dev
only:
refs:
- cyberbot-CMS-HCC-dev
################################ CQCT ################################
build_CQCT_dev:
<<: *build_tmp
variables:
MODULE: cqct
JAR_FILE: cqct-0.0.1-SNAPSHOT.jar
APP_NAME: cyberbot-cqct
DOCKER_FILE: Dockerfile
only:
refs:
- cqct-dev
build_image_CQCT_dev:
<<: *build_image_tmp
variables:
APP_NAME: cyberbot-cqct
dependencies:
- build_CQCT_dev
only:
refs:
- cqct-dev
deploy_CQCT_dev:
<<: *deploy_docker_tmp
variables:
DEPLOY_USER: platform
DEPLOY_HOST: 192.168.101.43
DEPLOY_PATH: /home/platform/cqct/deploy
CONF_PATH: cqct/src/main/resources
DOCKER_COMPOSE_PATH: cqct/docker-compose-dev.yml
dependencies:
- build_image_CQCT_dev
only:
refs:
- cqct-dev
#---- prod ----#
build_CQCT_prod:
<<: *build_tmp
variables:
MODULE: cqct
JAR_FILE: cqct-0.0.1-SNAPSHOT.jar
APP_NAME: cyberbot-cqct
DOCKER_FILE: Dockerfile
only:
refs:
- cqct
build_image_CQCT_prod:
<<: *build_image_tmp
variables:
APP_NAME: cyberbot-cqct
dependencies:
- build_CQCT_prod
only:
refs:
- cqct
deploy_CQCT_prod:
<<: *deploy_docker_tmp
variables:
DEPLOY_USER: platform
DEPLOY_HOST: 10.30.154.235
DEPLOY_PATH: /home/platform/cqct/deploy
CONF_PATH: cqct/src/main/resources
DOCKER_COMPOSE_PATH: cqct/docker-compose-prod.yml
dependencies:
- build_image_CQCT_prod
only:
refs:
- cqct



Comments