stages:
- init
- build
- verify
variables:
FRONTEND_INIT: "false"
BACKEND_INIT: "true"
NGINX_DIR: /home/nginx
PROJECT_NAME: backend
VERSION: "v1.0.0"
IMAGE_TAG: "backend"
FRONTEND_RUNNER: "node"
BACKEND_RUNNER: "go"
DOCKER_RUNNER_TAG: "docker"
PROJECT_NAME_CLIENT: "frontend"
PROJECT_NAME_SERVER: "backend"
DOCKER_HOST: "tcp://docker:2375"
DOCKER_TLS_CERTDIR: ""
job_frontend_init:
stage: init
image: ccr.ccs.tencentyun.com/lisa/alpine:latest
script:
- |
cat > env_vars.sh <<EOF
#!/usr/bin/bash
export DOMAIN=${DOMAIN}
export NGINX_DIR=${NGINX_DIR}
export HTML_DIR=${NGINX_DIR}/html
export CONF_DIR=${NGINX_DIR}/conf
export SSL_DIR=${NGINX_DIR}/ssl
EOF
- chmod +x ./env_vars.sh
- ./env_vars.sh
- cat env_vars.sh
- tar -czf dist.tar.gz -C frontend/dist .
- sshpass -e scp -o stricthostkeychecking=no docker/nginx/first.sh env_vars.sh dist.tar.gz ${s_user}@${s_host1}:/tmp/
- sshpass -e ssh -o stricthostkeychecking=no ${s_user}@${s_host1} '
chmod +x /tmp/env_vars.sh
; source /tmp/env_vars.sh
; echo ${HTML_DIR}
; tar -zxvf /tmp/dist.tar.gz -C ${HTML_DIR}
; chmod +x /tmp/first.sh
; source /tmp/first.sh
; rm -rf /tmp/env_vars.sh
; rm -rf /tmp/first.sh
; rm -rf /tmp/dist.tar.gz
'
only:
variables:
- $FRONTEND_INIT == "true"
job_web_update:
stage: deploy
image: node:18-alpine
script:
- sshpass -e ssh -o stricthostkeychecking=no ${s_user}@${s_host1} 'docker exec -it nginx-quic nginx -s reload'
only:
- main
- dev
job_frontend_nginx_deploy:
stage: deploy
image: ccr.ccs.tencentyun.com/lisa/alpine:latest
only:
script:
- |
cat > env_vars.sh <<EOF
#!/usr/bin/bash
export DOMAIN=${DOMAIN}
export NGINX_DIR=${NGINX_DIR}
export HTML_DIR=${NGINX_DIR}/html
export CONF_DIR=${NGINX_DIR}/conf
export SSL_DIR=${NGINX_DIR}/ssl
EOF
- chmod +x env_vars.sh
- ./env_vars.sh
- cat env_vars.sh
- tar -czf dist.tar.gz -C frontend/dist .
- sshpass -e scp -o stricthostkeychecking=no dist.tar.gz env_vars.sh ${s_user}@${s_host1}:/tmp/
- sshpass -e ssh -o stricthostkeychecking=no ${s_user}@${s_host1} '
chmod +x /tmp/env_vars.sh
; source /tmp/env_vars.sh
; echo "HTML_DIR: ${HTML_DIR}"
; tar -zxvf /tmp/dist.tar.gz -C ${HTML_DIR}
; docker restart nginx-quic
; rm -rf /tmp/env_vars.sh
; rm -rf /tmp/first.sh
; rm -rf /tmp/dist.tar.gz
'