159 lines
4.3 KiB
YAML
159 lines
4.3 KiB
YAML
stages:
|
|
- build
|
|
- deploy
|
|
- restart
|
|
|
|
########################## BUILD ##############################
|
|
|
|
build:
|
|
stage: build
|
|
image: node:12
|
|
before_script:
|
|
- npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
|
|
- npm i gulp -g > /dev/null
|
|
- curl https://s.dyno.gg/web-deploy/mc -s -o mc
|
|
- chmod +x mc
|
|
- ./mc config host add minio https://s.dyno.gg/ "$MINIO_ACCESS_KEY" "$MINIO_SECRET_KEY"
|
|
script:
|
|
- npm ci
|
|
- cd react
|
|
- npm ci
|
|
- npm run build:prod
|
|
- cd ..
|
|
- gulp sass:prod
|
|
- tar czf "$CI_COMMIT_REF_NAME$CI_COMMIT_SHA.tar.gz" public/
|
|
- ./mc cp "$CI_COMMIT_REF_NAME$CI_COMMIT_SHA.tar.gz" minio/web-deploy
|
|
- cp "deploy/$CI_COMMIT_REF_NAME.sh" "$CI_COMMIT_REF_NAME$CI_COMMIT_SHA.sh"
|
|
- ./mc cp "$CI_COMMIT_REF_NAME$CI_COMMIT_SHA.sh" minio/web-deploy
|
|
|
|
########################## DEPLOYMENT ##############################
|
|
|
|
.deploy_base:
|
|
image: kroniak/ssh-client
|
|
before_script:
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
|
|
- MINIO_URL="https://s.dyno.gg/web-deploy/$CI_COMMIT_REF_NAME$CI_COMMIT_SHA.tar.gz"
|
|
- MINIO_DEPLOY_SCRIPT="https://s.dyno.gg/web-deploy/$CI_COMMIT_REF_NAME$CI_COMMIT_SHA.sh"
|
|
|
|
.deploy_premium:
|
|
extends: .deploy_base
|
|
only:
|
|
- premium
|
|
|
|
.deploy_production:
|
|
extends: .deploy_base
|
|
only:
|
|
- master
|
|
|
|
deploy to production 43:
|
|
stage: deploy
|
|
extends: .deploy_production
|
|
script:
|
|
- ssh dyno@10.12.0.43 "rm -f deploy.sh && wget \"$MINIO_DEPLOY_SCRIPT\" -O deploy.sh && chmod -x deploy.sh"
|
|
- ssh dyno@10.12.0.43 "sh deploy.sh \"$MINIO_URL\""
|
|
|
|
deploy to production 44:
|
|
stage: deploy
|
|
extends: .deploy_production
|
|
script:
|
|
- ssh dyno@10.12.0.44 "rm -f deploy.sh && wget \"$MINIO_DEPLOY_SCRIPT\" -O deploy.sh && chmod -x deploy.sh"
|
|
- ssh dyno@10.12.0.44 "sh deploy.sh \"$MINIO_URL\""
|
|
|
|
deploy to production 45:
|
|
stage: deploy
|
|
extends: .deploy_production
|
|
script:
|
|
- ssh dyno@10.12.0.45 "rm -f deploy.sh && wget \"$MINIO_DEPLOY_SCRIPT\" -O deploy.sh && chmod -x deploy.sh"
|
|
- ssh dyno@10.12.0.45 "sh deploy.sh \"$MINIO_URL\""
|
|
|
|
deploy to premium 43:
|
|
stage: deploy
|
|
extends: .deploy_premium
|
|
script:
|
|
- ssh dyno@10.12.0.43 "rm -f deploy.sh && wget \"$MINIO_DEPLOY_SCRIPT\" -O deploy.sh && chmod -x deploy.sh"
|
|
- ssh dyno@10.12.0.43 "sh deploy.sh \"$MINIO_URL\""
|
|
|
|
deploy to premium 44:
|
|
stage: deploy
|
|
extends: .deploy_premium
|
|
script:
|
|
- ssh dyno@10.12.0.44 "rm -f deploy.sh && wget \"$MINIO_DEPLOY_SCRIPT\" -O deploy.sh && chmod -x deploy.sh"
|
|
- ssh dyno@10.12.0.44 "sh deploy.sh \"$MINIO_URL\""
|
|
|
|
deploy to premium 45:
|
|
stage: deploy
|
|
extends: .deploy_premium
|
|
script:
|
|
- ssh dyno@10.12.0.45 "rm -f deploy.sh && wget \"$MINIO_DEPLOY_SCRIPT\" -O deploy.sh && chmod -x deploy.sh"
|
|
- ssh dyno@10.12.0.45 "sh deploy.sh \"$MINIO_URL\""
|
|
|
|
deploy to alpha:
|
|
stage: deploy
|
|
extends: .deploy_base
|
|
script:
|
|
- ssh dyno@10.12.0.73 "rm -f deploy.sh && wget \"$MINIO_DEPLOY_SCRIPT\" -O deploy.sh && chmod -x deploy.sh"
|
|
- ssh dyno@10.12.0.73 "sh deploy.sh \"$MINIO_URL\""
|
|
only:
|
|
- develop
|
|
|
|
########################## RESTART ##############################
|
|
|
|
restart production 43:
|
|
stage: restart
|
|
extends: .deploy_base
|
|
script:
|
|
- ssh dyno@10.12.0.43 "pm2 reload dyno.gg"
|
|
only:
|
|
- master
|
|
|
|
restart production 44:
|
|
stage: restart
|
|
extends: .deploy_base
|
|
script:
|
|
- ssh dyno@10.12.0.44 "pm2 reload dyno.gg"
|
|
only:
|
|
- master
|
|
|
|
restart production 45:
|
|
stage: restart
|
|
extends: .deploy_base
|
|
script:
|
|
- ssh dyno@10.12.0.45 "pm2 reload dyno.gg"
|
|
only:
|
|
- master
|
|
|
|
restart premium 43:
|
|
stage: restart
|
|
extends: .deploy_base
|
|
script:
|
|
- ssh dyno@10.12.0.43 "pm2 reload premium.dyno.gg"
|
|
only:
|
|
- premium
|
|
|
|
restart premium 44:
|
|
stage: restart
|
|
extends: .deploy_base
|
|
script:
|
|
- ssh dyno@10.12.0.44 "pm2 reload premium.dyno.gg"
|
|
only:
|
|
- premium
|
|
|
|
restart premium 45:
|
|
stage: restart
|
|
extends: .deploy_base
|
|
script:
|
|
- ssh dyno@10.12.0.45 "pm2 reload premium.dyno.gg"
|
|
only:
|
|
- premium
|
|
|
|
restart alpha:
|
|
stage: restart
|
|
extends: .deploy_base
|
|
script:
|
|
- ssh dyno@10.12.0.73 "pm2 reload staff.dyno.gg"
|
|
only:
|
|
- develop |