2020-05-19 13:13:30 +00:00
|
|
|
# workflow
|
2020-01-14 20:36:26 +00:00
|
|
|
stages:
|
2020-05-19 13:13:30 +00:00
|
|
|
- build
|
|
|
|
- test
|
2020-03-15 16:11:16 +00:00
|
|
|
- integration
|
|
|
|
- acceptance
|
2020-04-03 18:02:49 +00:00
|
|
|
- release
|
2020-03-15 16:11:16 +00:00
|
|
|
- deployment
|
2020-01-14 20:36:26 +00:00
|
|
|
|
2020-05-19 13:13:30 +00:00
|
|
|
# default image for jobs
|
|
|
|
default:
|
|
|
|
image: node:11
|
|
|
|
|
|
|
|
# cache modules between jobs
|
|
|
|
cache:
|
|
|
|
key: ${CI_COMMIT_REF_SLUG}
|
|
|
|
paths:
|
|
|
|
- .npm/
|
|
|
|
|
|
|
|
## BUILD ##
|
|
|
|
|
|
|
|
build:
|
|
|
|
stage: build
|
|
|
|
before_script:
|
|
|
|
- npm ci --cache .npm --prefer-offline --only=production
|
|
|
|
script:
|
|
|
|
- cp config.sample.json config.json
|
|
|
|
- npm run build
|
|
|
|
artifacts:
|
|
|
|
when: on_success
|
|
|
|
expire_in: 1 day
|
|
|
|
paths:
|
|
|
|
- dist/
|
|
|
|
tags:
|
|
|
|
- test
|
|
|
|
|
2020-01-14 20:36:26 +00:00
|
|
|
## TESTING ##
|
|
|
|
|
2020-05-19 13:13:30 +00:00
|
|
|
test:e2e:
|
|
|
|
stage: test
|
2020-11-26 22:33:47 +00:00
|
|
|
image: cypress/included:5.6.0
|
2020-05-19 13:13:30 +00:00
|
|
|
services:
|
|
|
|
- name: ${CI_REGISTRY_IMAGE}/server:0.1
|
|
|
|
before_script:
|
|
|
|
# install missing dependencies
|
|
|
|
- npm install -g sirv-cli
|
2020-07-16 14:07:25 +00:00
|
|
|
- npm install cypress-localstorage-commands
|
2020-05-19 13:13:30 +00:00
|
|
|
# making sure the process is orphan
|
|
|
|
- sirv dist --port 3000 > /dev/null 2>&1 &
|
|
|
|
script:
|
|
|
|
- cypress run -e CYPRESS_baseUrl=http://localhost:3000
|
|
|
|
tags:
|
|
|
|
- test
|
|
|
|
|
2020-01-14 20:36:26 +00:00
|
|
|
## VALIDATION ##
|
|
|
|
|
2021-01-14 12:34:33 +00:00
|
|
|
include:
|
|
|
|
project: infra/gitlab
|
|
|
|
ref: master
|
|
|
|
file: templates/deploy.ci.yml
|
|
|
|
|
2020-03-19 12:44:10 +00:00
|
|
|
test1:
|
2021-01-14 12:34:33 +00:00
|
|
|
extends: .ansible
|
2020-03-15 16:11:16 +00:00
|
|
|
stage: integration
|
2020-01-14 20:36:26 +00:00
|
|
|
environment:
|
2020-03-15 16:11:16 +00:00
|
|
|
name: test1
|
|
|
|
url: https://test1.startinblox.com
|
2020-01-14 20:36:26 +00:00
|
|
|
only:
|
2020-03-16 09:50:07 +00:00
|
|
|
- /^feature\/.*/
|
2020-01-14 20:36:26 +00:00
|
|
|
when: manual
|
|
|
|
|
2020-03-19 12:44:10 +00:00
|
|
|
test2:
|
2021-01-14 14:29:40 +00:00
|
|
|
extends: .ansible
|
2020-03-15 16:11:16 +00:00
|
|
|
stage: integration
|
2020-01-14 20:36:26 +00:00
|
|
|
environment:
|
2020-03-15 16:11:16 +00:00
|
|
|
name: test2
|
|
|
|
url: https://test2.startinblox.com
|
2020-01-14 20:36:26 +00:00
|
|
|
only:
|
2020-03-16 09:51:57 +00:00
|
|
|
- /^feature\/.*/
|
2020-01-14 20:36:26 +00:00
|
|
|
when: manual
|
2020-03-15 16:11:16 +00:00
|
|
|
|
2020-03-19 12:44:10 +00:00
|
|
|
test3:
|
2021-01-14 14:29:40 +00:00
|
|
|
extends: .ansible
|
2020-03-15 16:11:16 +00:00
|
|
|
stage: integration
|
|
|
|
environment:
|
|
|
|
name: test3
|
|
|
|
url: https://test3.startinblox.com
|
|
|
|
only:
|
2020-03-16 09:51:57 +00:00
|
|
|
- /^feature\/.*/
|
2020-03-15 16:11:16 +00:00
|
|
|
when: manual
|
|
|
|
|
2020-03-19 12:44:10 +00:00
|
|
|
stg1:
|
2021-01-14 14:29:40 +00:00
|
|
|
extends: .ansible
|
2020-03-15 16:11:16 +00:00
|
|
|
stage: acceptance
|
|
|
|
environment:
|
|
|
|
name: stg1
|
|
|
|
url: https://stg1.startinblox.com
|
|
|
|
only:
|
2020-03-16 15:12:58 +00:00
|
|
|
- /^release\/.*/
|
|
|
|
when: manual
|
2020-01-14 20:36:26 +00:00
|
|
|
|
2020-03-19 12:44:10 +00:00
|
|
|
stg2:
|
2021-01-14 14:29:40 +00:00
|
|
|
extends: .ansible
|
2020-03-15 16:11:16 +00:00
|
|
|
stage: acceptance
|
2020-01-14 20:36:26 +00:00
|
|
|
environment:
|
2020-03-15 16:11:16 +00:00
|
|
|
name: stg2
|
|
|
|
url: https://stg2.startinblox.com
|
2020-01-14 20:36:26 +00:00
|
|
|
only:
|
2020-03-16 15:12:58 +00:00
|
|
|
- /^release\/.*/
|
|
|
|
when: manual
|
2020-01-14 20:36:26 +00:00
|
|
|
|
2020-04-03 18:02:49 +00:00
|
|
|
## RELEASE TAGGING ##
|
|
|
|
|
|
|
|
publish:
|
|
|
|
stage: release
|
|
|
|
script:
|
2020-12-09 12:55:57 +00:00
|
|
|
- npm install -g semantic-release@v17 @semantic-release/gitlab@v6.0.5
|
2020-04-03 18:02:49 +00:00
|
|
|
- semantic-release
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
tags:
|
|
|
|
- deploy
|
|
|
|
|
2020-03-15 16:11:16 +00:00
|
|
|
## LIVE DEPLOYMENTS ##
|
2020-01-14 20:36:26 +00:00
|
|
|
|
2020-04-01 16:08:27 +00:00
|
|
|
community:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-04-01 16:08:27 +00:00
|
|
|
environment:
|
|
|
|
name: community
|
|
|
|
url: https://community.startinblox.com
|
|
|
|
when: manual
|
|
|
|
|
2020-03-19 12:44:10 +00:00
|
|
|
nantes:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-01-14 20:36:26 +00:00
|
|
|
environment:
|
|
|
|
name: nantes
|
2020-03-19 12:44:10 +00:00
|
|
|
url: https://app.nantes.happy-dev.fr
|
2020-01-14 20:36:26 +00:00
|
|
|
when: manual
|
|
|
|
|
2020-03-19 12:44:10 +00:00
|
|
|
paris:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-01-14 20:36:26 +00:00
|
|
|
environment:
|
|
|
|
name: paris
|
2020-03-19 12:44:10 +00:00
|
|
|
url: https://app.paris.happy-dev.fr
|
|
|
|
when: manual
|
|
|
|
|
2020-08-10 17:08:33 +00:00
|
|
|
smarttoulouse:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-03-19 12:44:10 +00:00
|
|
|
environment:
|
2020-08-10 17:08:33 +00:00
|
|
|
name: smarttoulouse
|
2020-03-19 12:44:10 +00:00
|
|
|
url: https://smart-toulouse.happy-dev.fr
|
2020-01-14 20:36:26 +00:00
|
|
|
when: manual
|
|
|
|
tags:
|
2020-03-15 16:11:16 +00:00
|
|
|
- deploy
|
2020-05-22 16:50:30 +00:00
|
|
|
|
|
|
|
volumes:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-05-22 16:50:30 +00:00
|
|
|
environment:
|
|
|
|
name: volumes
|
|
|
|
url: https://volumes.hubl.world
|
|
|
|
when: manual
|
2020-06-11 18:26:43 +00:00
|
|
|
|
2020-06-11 18:35:29 +00:00
|
|
|
communityhubl:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-06-11 18:26:43 +00:00
|
|
|
environment:
|
2020-06-11 18:29:10 +00:00
|
|
|
name: communityhubl
|
2020-06-11 18:26:43 +00:00
|
|
|
url: https://community.hubl.world
|
|
|
|
when: manual
|
2020-06-29 17:59:23 +00:00
|
|
|
|
|
|
|
playground:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-06-29 17:59:23 +00:00
|
|
|
environment:
|
|
|
|
name: playground
|
|
|
|
url: https://playground.hubl.world
|
|
|
|
when: manual
|
2020-07-21 09:53:18 +00:00
|
|
|
|
|
|
|
casaco:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-07-21 09:53:18 +00:00
|
|
|
environment:
|
|
|
|
name: casaco
|
|
|
|
url: https://casaco.hubl.world
|
|
|
|
when: manual
|
2020-07-27 12:08:29 +00:00
|
|
|
|
|
|
|
opteos:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-07-27 12:08:29 +00:00
|
|
|
environment:
|
|
|
|
name: opteos
|
|
|
|
url: https://opteos.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
fnk:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-07-27 12:08:29 +00:00
|
|
|
environment:
|
|
|
|
name: fnk
|
|
|
|
url: https://fnk.hubl.world
|
|
|
|
when: manual
|
|
|
|
tags:
|
|
|
|
- deploy
|
|
|
|
|
|
|
|
labriqueterie:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-07-27 12:08:29 +00:00
|
|
|
environment:
|
|
|
|
name: labriqueterie
|
|
|
|
url: https://labriqueterie.hubl.world
|
|
|
|
when: manual
|
2020-08-05 12:21:58 +00:00
|
|
|
|
|
|
|
facttic:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-05 12:21:58 +00:00
|
|
|
environment:
|
|
|
|
name: facttic
|
|
|
|
url: https://facttic.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
cotech:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-05 12:21:58 +00:00
|
|
|
environment:
|
|
|
|
name: cotech
|
|
|
|
url: https://hubl.coops.tech
|
|
|
|
when: manual
|
2020-08-10 16:14:15 +00:00
|
|
|
|
|
|
|
lelaptop:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-10 16:14:15 +00:00
|
|
|
environment:
|
|
|
|
name: lelaptop
|
|
|
|
url: https://lelaptop.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
virtualassembly:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-10 16:14:15 +00:00
|
|
|
environment:
|
|
|
|
name: virtualassembly
|
|
|
|
url: https://virtual-assembly.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
ouisharequebec:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-10 16:14:15 +00:00
|
|
|
environment:
|
|
|
|
name: ouisharequebec
|
|
|
|
url: https://ouishare-quebec.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
nouvelleaquitaine:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-10 16:14:15 +00:00
|
|
|
environment:
|
|
|
|
name: nouvelleaquitaine
|
|
|
|
url: https://app.nouvelle-aquitaine.happy-dev.fr
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
paca:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-10 16:14:15 +00:00
|
|
|
environment:
|
|
|
|
name: paca
|
|
|
|
url: https://app.paca.happy-dev.fr
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
strasbourg:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-10 16:14:15 +00:00
|
|
|
environment:
|
|
|
|
name: strasbourg
|
|
|
|
url: https://app.strasbourg.happy-dev.fr
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
bretagne:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-10 16:14:15 +00:00
|
|
|
environment:
|
|
|
|
name: bretagne
|
|
|
|
url: https://app.bretagne.happy-dev.fr
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
lemans:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-10 16:14:15 +00:00
|
|
|
environment:
|
|
|
|
name: lemans
|
|
|
|
url: https://app.lemans.happy-dev.fr
|
|
|
|
when: manual
|
2020-08-12 15:52:43 +00:00
|
|
|
|
|
|
|
apidays:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-08-12 15:52:43 +00:00
|
|
|
environment:
|
|
|
|
name: apidays
|
|
|
|
url: https://apidays.hubl.world
|
2020-09-08 10:11:55 +00:00
|
|
|
when: manual
|
|
|
|
|
|
|
|
toulouse:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-09-08 10:11:55 +00:00
|
|
|
environment:
|
|
|
|
name: toulouse
|
|
|
|
url: https://app.toulouse.happy-dev.fr
|
|
|
|
when: manual
|
2020-09-28 12:42:13 +00:00
|
|
|
|
|
|
|
lepool:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-09-28 12:42:13 +00:00
|
|
|
environment:
|
|
|
|
name: lepool
|
|
|
|
url: https://lepool.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
cpe:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-09-28 12:42:13 +00:00
|
|
|
environment:
|
|
|
|
name: cpe
|
|
|
|
url: https://cpe.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
lescanumeriques:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-09-28 12:42:13 +00:00
|
|
|
environment:
|
|
|
|
name: lescanumeriques
|
|
|
|
url: https://fichemetier.fr.hubl.world
|
|
|
|
when: manual
|
2020-11-06 14:57:11 +00:00
|
|
|
|
|
|
|
phares:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-06 14:57:11 +00:00
|
|
|
environment:
|
|
|
|
name: phares
|
|
|
|
url: https://le.phares.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
esspace:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-06 14:57:11 +00:00
|
|
|
environment:
|
|
|
|
name: esspace
|
|
|
|
url: https://ess.pace.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
grandecoco:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-06 14:57:11 +00:00
|
|
|
environment:
|
|
|
|
name: grandecoco
|
|
|
|
url: https://la.grande.coco.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
espaceimaginaire:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-06 14:57:11 +00:00
|
|
|
environment:
|
|
|
|
name: espaceimaginaire
|
|
|
|
url: https://espace-imaginaire.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
hallesciviques:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-06 14:57:11 +00:00
|
|
|
environment:
|
|
|
|
name: hallesciviques
|
|
|
|
url: https://les.halles.civiques.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
ctc:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-06 14:57:11 +00:00
|
|
|
environment:
|
|
|
|
name: ctc
|
|
|
|
url: https://collectif.tansition.citoyenne.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
studiossinguliers:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-06 14:57:11 +00:00
|
|
|
environment:
|
|
|
|
name: studiossinguliers
|
|
|
|
url: https://studios-singuliers.hubl.world
|
|
|
|
when: manual
|
2020-11-23 17:33:35 +00:00
|
|
|
|
|
|
|
apluscestmieux:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-23 17:33:35 +00:00
|
|
|
environment:
|
|
|
|
name: apluscestmieux
|
|
|
|
url: https://apluscestmieux.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
projetlerepaire:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-23 17:33:35 +00:00
|
|
|
environment:
|
|
|
|
name: projetlerepaire
|
|
|
|
url: https://projet.le.repaire.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
oxamyne:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-23 17:33:35 +00:00
|
|
|
environment:
|
|
|
|
name: oxamyne
|
|
|
|
url: https://oxamyne.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
laruchesaintgermain:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-23 17:33:35 +00:00
|
|
|
environment:
|
|
|
|
name: laruchesaintgermain
|
|
|
|
url: https://la.ruche.saint-germain.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
artefacts:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-23 17:33:35 +00:00
|
|
|
environment:
|
|
|
|
name: artefacts
|
|
|
|
url: https://artefacts.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
lab01:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-23 17:33:35 +00:00
|
|
|
environment:
|
|
|
|
name: lab01
|
|
|
|
url: https://le.lab01.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
makesense:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-23 17:33:35 +00:00
|
|
|
environment:
|
|
|
|
name: makesense
|
|
|
|
url: https://makesense.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
moulindepontru:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-23 17:33:35 +00:00
|
|
|
environment:
|
|
|
|
name: moulindepontru
|
|
|
|
url: https://moulin.de.pont-ru.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
latreso:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-23 17:33:35 +00:00
|
|
|
environment:
|
|
|
|
name: latreso
|
|
|
|
url: https://la.treso.hubl.world
|
|
|
|
when: manual
|
2020-11-24 12:31:41 +00:00
|
|
|
|
|
|
|
montpellier:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-11-24 12:31:41 +00:00
|
|
|
environment:
|
|
|
|
name: montpellier
|
|
|
|
url: https://app.montpellier.happy-dev.fr
|
|
|
|
when: manual
|
2020-12-07 19:13:13 +00:00
|
|
|
|
|
|
|
acn:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-12-07 19:13:13 +00:00
|
|
|
environment:
|
|
|
|
name: acn
|
|
|
|
url: https://acn.hubl.world
|
|
|
|
when: manual
|
|
|
|
|
|
|
|
woma:
|
2021-01-24 13:56:15 +00:00
|
|
|
extends: .ansible
|
2020-12-07 19:13:13 +00:00
|
|
|
environment:
|
|
|
|
name: woma
|
|
|
|
url: https://woma.hubl.world
|
|
|
|
when: manual
|