Skip to content
Snippets Groups Projects
Commit 97299291 authored by Fabien Zucchet's avatar Fabien Zucchet
Browse files

add preprod to gitlab-ci

parent 2abc91bd
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,10 @@ stages:
- build
- deploy
################################################################################
##### LINT STAGE #####
################################################################################
linter-back:
stage: lint
script:
......@@ -20,6 +24,10 @@ linter-front:
- npm install
- npm test
################################################################################
##### BUILD STAGE #####
################################################################################
build-front:
stage: build
only:
......@@ -34,10 +42,38 @@ build-front:
- front/node_modules/
- front/build/
prod-front:
################################################################################
##### PREPROD-DEPLOY STAGE #####
################################################################################
back-preprod-deploy:
stage: deploy
only:
- master
- staging
script:
- "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )"
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- echo ${PREPROD_SECRETS} > secrets.js
- scp secrets.js gitlabci@leaderboard.viarezo.fr:~/leaderboard/back/src/secrets.js
- >
ssh gitlabci@leaderboard.viarezo.fr
"cd leaderboard/back &&
git checkout staging &&
git stash &&
git pull &&
npm install --only=prod &&
pm2 delete back-preprod &&
PROD=false pm2 start src/index.js --name back-preprod &&
exit"
front-preprod-deploy:
stage: deploy
only:
- staging
dependencies:
- build-front
script:
......@@ -47,9 +83,17 @@ prod-front:
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- "scp -r ./front/build/ gitlabci@leaderboard.viarezo.fr:/var/www"
- >
ssh gitlabci@leaderboard.viarezo.fr
"sudo rm -rf /var/www/preprod/* &&
exit"
- "scp -r ./front/build/* gitlabci@leaderboard.viarezo.fr:/var/www/preprod"
################################################################################
##### PROD-DEPLOY STAGE #####
################################################################################
prod-back:
back-prod-deploy:
stage: deploy
only:
- master
......@@ -72,3 +116,22 @@ prod-back:
pm2 delete back-prod &&
PROD=true pm2 start src/index.js --name back-prod &&
exit"
front-prod-deploy:
stage: deploy
only:
- master
dependencies:
- build-front
script:
- "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )"
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- >
ssh gitlabci@leaderboard.viarezo.fr
"sudo rm -rf /var/www/prod/* &&
exit"
- "scp -r ./front/build/* gitlabci@leaderboard.viarezo.fr:/var/www/prod"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment