From 7b2d24032b51ffbb3a413c41f11f76b47da3d0f8 Mon Sep 17 00:00:00 2001
From: Hugo SUBTIL <ext.sopra.husubtil@grandlyon.com>
Date: Tue, 20 Jul 2021 10:22:49 +0000
Subject: [PATCH] feat(cicd): update docker-compose and gitlabci

---
 .gitlab-ci.yml     | 62 ++++++++++++++++++++++++++++++++++++++++++++--
 docker-compose.yml | 11 ++++++++
 package.json       |  2 +-
 3 files changed, 72 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d39c01791..31b4d8333 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,6 +11,7 @@ stages:
   - test
   - build
   - quality
+  - deploy
   - publish
 
 test:
@@ -32,18 +33,55 @@ test:
     - master
     - merge_requests
 
-build:
+build-test:
   stage: build
   image: node:14.15.4-alpine
   before_script:
     - apk add git
+    - apk add bash
   script:
     - yarn
     - yarn build
+  only:
+    - merge_requests
+
+build-dev:
+  stage: build
+  image: node:14.15.4-alpine
+  before_script:
+    - apk add git
+    - apk add bash
+  script:
+    - yarn
+    - yarn build
+    - git config --global user.name build-pipeline
+    - git config --global user.email "$GIT_USER"
+    - git config --global user.password "$GIT_PWD"
+    - git config user.email "$GIT_USER"
+    - git remote set-url origin https://"$GIT_USER":"$GIT_PWD"@forge.grandlyon.com/web-et-numerique/llle_project/ecolyo.git
+    - git config --global credential.helper store
+    - yarn deploy-dev
   only:
     - dev
+
+build:
+  stage: build
+  image: node:14.15.4-alpine
+  before_script:
+    - apk add git
+    - apk add bash
+  script:
+    - yarn
+    - yarn build
+    - git config --global user.name build-pipeline
+    - git config --global user.email "$GIT_USER"
+    - git config --global user.password "$GIT_PWD"
+    - git config user.email "$GIT_USER"
+    - git remote set-url origin https://"$GIT_USER":"$GIT_PWD"@forge.grandlyon.com/web-et-numerique/llle_project/ecolyo.git
+    - git config --global credential.helper store
+    - yarn deploy
+  only:
     - master
-    - merge_requests
 
 build_stack:
   stage: build
@@ -87,3 +125,23 @@ sonarqube:
       -Dsonar.login=${SONAR_TOKEN}
       -Dsonar.cpd.exclusions=tests/**,src/**/*.spec.ts*
       -Dsonar.qualitygate.wait=true
+
+deploy_demo:
+  stage: deploy
+  tags:
+    - deploy
+  script:
+    - cd /root/easy-cozy/admin_scripts
+    - ./update_ecolyo_dev.sh demo
+  only:
+    - dev
+
+deploy_alpha:
+  stage: deploy
+  tags:
+    - deploy
+  script:
+    - cd /root/easy-cozy/admin_scripts
+    - ./update_all_ecolyo_dev.sh
+  only:
+    - master
diff --git a/docker-compose.yml b/docker-compose.yml
index 485c4da95..4ee8a235e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -4,3 +4,14 @@ services:
     image: registry.forge.grandlyon.com/web-et-numerique/llle_project/ecolyo:latest
     hostname: app
     restart: 'no'
+
+  stack:
+    image: registry.forge.grandlyon.com/web-et-numerique/llle_project/ecolyo/cozy-env:latest
+    ports:
+      - 8080:8080
+      - 5984:5984
+      - 8025:825
+    volumes:
+      - ./build:/data/cozy-app/ecolyo
+      - ./data:/usr/local/couchdb/data
+      - ./docker/disableCSP.yaml:/etc/cozy/cozy.yaml
diff --git a/package.json b/package.json
index 732e99e1a..101498e55 100644
--- a/package.json
+++ b/package.json
@@ -15,7 +15,7 @@
     "watch:mobile": "cs watch --mobile",
     "start:cs": "cs start --hot --browser --no-stack ",
     "deploy": "git-directory-deploy --directory build/ --branch ${DEPLOY_BRANCH:-build} --repo=${DEPLOY_REPOSITORY:-https://forge.grandlyon.com/web-et-numerique/llle_project/ecolyo.git}",
-    "deploy-dev": "git-directory-deploy --directory build/ --branch ${DEPLOY_BRANCH:-build-dev} --repo=${DEPLOY_REPOSITORY:-https://forge.grandlyon.com/web-et-numerique/llle_project/ecolyo.git}",
+    "deploy-dev": "git-directory-deploy --directory build/ --branch ${DEPLOY_BRANCH:-build-dev}",
     "deploy-test": "git-directory-deploy --directory build/ --branch ${DEPLOY_BRANCH:-build-test} --repo=${DEPLOY_REPOSITORY:-https://forge.grandlyon.com/web-et-numerique/llle_project/ecolyo.git}",
     "test": "cs test --verbose --coverage",
     "cozyPublish": "git fetch origin ${DEPLOY_BRANCH:-build}:${DEPLOY_BRANCH:-build} && cs publish --token $REGISTRY_TOKEN --build-commit $(git rev-parse ${DEPLOY_BRANCH:-build})",
-- 
GitLab