hubl/.gitlab-ci.yml
2020-04-03 20:02:49 +02:00

213 lines
5.0 KiB
YAML

image: node:11
stages:
- integration
- acceptance
- release
- deployment
## TESTING ##
## VALIDATION ##
test1:
stage: integration
environment:
name: test1
url: https://test1.startinblox.com
script:
- echo "$APP_CONFIG_TEST1" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* test1@astral.startinblox.com:~/front/
only:
- /^feature\/.*/
when: manual
tags:
- deploy
test2:
stage: integration
environment:
name: test2
url: https://test2.startinblox.com
script:
- echo "$APP_CONFIG_TEST2" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* test2@astral.startinblox.com:~/front/
only:
- /^feature\/.*/
when: manual
tags:
- deploy
test3:
stage: integration
environment:
name: test3
url: https://test3.startinblox.com
script:
- echo "$APP_CONFIG_TEST3" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* test3@astral.startinblox.com:~/front/
only:
- /^feature\/.*/
when: manual
tags:
- deploy
stg1:
stage: acceptance
environment:
name: stg1
url: https://stg1.startinblox.com
script:
- echo "$APP_CONFIG_STG1" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* stg1@astral.startinblox.com:~/front/
only:
- /^release\/.*/
when: manual
tags:
- deploy
stg2:
stage: acceptance
environment:
name: stg2
url: https://stg2.startinblox.com
script:
- echo "$APP_CONFIG_STG2" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* stg2@astral.startinblox.com:~/front/
only:
- /^release\/.*/
when: manual
tags:
- deploy
## RELEASE TAGGING ##
publish:
stage: release
script:
- npm install -g semantic-release@v17 @semantic-release/gitlab
- semantic-release
only:
- master
tags:
- deploy
## LIVE DEPLOYMENTS ##
alpha:
stage: deployment
environment:
name: alpha
url: https://alpha.happy-dev.fr
script:
- echo "$APP_CONFIG_ALPHA" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* alpha@ssh-alpha.happy-dev.fr:~/www/
only:
- master
when: manual
tags:
- deploy
community:
stage: deployment
environment:
name: community
url: https://community.startinblox.com
script:
- echo "$APP_CONFIG_COMMUNITY" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* community@astral.startinblox.com:~/front/
only:
- master
when: manual
tags:
- deploy
etuc:
stage: deployment
environment:
name: etuc
url: https://app.digitalplatformobservatory.org
script:
- echo "$APP_CONFIG_DIGITALPLATFORMOBSERVATORY" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* etuc@ssh-etuc.happy-dev.fr:~/sib/www/
only:
- master
when: manual
tags:
- deploy
nantes:
stage: deployment
environment:
name: nantes
url: https://app.nantes.happy-dev.fr
script:
- echo "$APP_CONFIG_NANTESHD" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* nantes@ssh-nantes.happy-dev.fr:~/sib/www/
only:
- master
when: manual
tags:
- deploy
paris:
stage: deployment
environment:
name: paris
url: https://app.paris.happy-dev.fr
script:
- echo "$APP_CONFIG_PARIS" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* paris@ssh-paris.happy-dev.fr:~/sib/www/
only:
- master
when: manual
tags:
- deploy
toulouse:
stage: deployment
environment:
name: toulouse
url: https://smart-toulouse.happy-dev.fr
script:
- echo "$APP_CONFIG_TOULOUSE" > config.json
- echo "$SSH_DEPLOY_KEY" | tr -d '\r' > gitlab.key && chmod 600 gitlab.key
- npm install
- npm run build
- scp -i gitlab.key -o StrictHostKeyChecking=no -r dist/* smart-toulouse@ssh-smart-toulouse.happy-dev.fr:~/www/
only:
- master
when: manual
tags:
- deploy