diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cee6215c9090477b350610e20e0f3f215fda1bb4..b538742b1c7f8ae2598c0892fa0e2b3254ebb97a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,68 +4,76 @@ stages: - deploy - post-deploy -test_development: +test: stage: test only: - - master + - development script: - - docker-compose --project-name data-reloaded-dev-testing -f docker-compose-development.tests.yml build - - docker-compose --project-name data-reloaded-dev-testing -f docker-compose-development.tests.yml up -d + - docker-compose -f docker-compose-development.tests.yml build + - docker-compose --project-name portail-data-dev-testing -f docker-compose-development.tests.yml up -d build_development: stage: build only: - - master - - sandbox + - development script: - - export NODE_ENV=DEV + - export TAG=dev - export NGINX_PORT=8081 - - docker-compose --project-name data-reloaded-dev build --build-arg env=dev nginx-app + - docker-compose build --build-arg env=dev nginx-app + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker-compose push + +build_staging: + stage: build + only: + - development + when: manual + script: + - export TAG=staging + - export NGINX_PORT=8080 + - docker-compose build --build-arg env=staging nginx-app + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker-compose push deploy_development: stage: deploy only: - - master - - sandbox + - development script: - - export NODE_ENV=DEV + - export TAG=dev - export NGINX_PORT=8081 - export MATOMO_SITE_ID=1 - export MATOMO_SERVER_URL=https://matomo-intothesky.alpha.grandlyon.com - - docker-compose --project-name data-reloaded-dev up -d + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker-compose pull + - docker-compose --project-name portail-data-${TAG} up -d environment: name: development url: https://data-reloaded-dev.alpha.grandlyon.com +deploy_staging: + stage: deploy + only: + - development + when: manual + script: + - export TAG=staging + - export NGINX_PORT=8080 + - export MATOMO_SITE_ID=3 + - export MATOMO_SERVER_URL=https://matomo-intothesky.alpha.grandlyon.com + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker-compose pull + - docker-compose --project-name portail-data-${TAG} up -d + environment: + name: staging + url: https://data-reloaded-rec.alpha.grandlyon.com + code_analysis: stage: post-deploy only: - - master + - development before_script: - export PATH=$PATH:/usr/local/bin/sonar-scanner-3.2.0.1227-linux/bin/ - export NODE_PATH=$NODE_PATH:`npm root -g` script: - - sonar-scanner -D sonar.projectKey=data-reloaded-1-neo-dgl2018 -D sonar.sources=. - -build_staging: - stage: build - only: - - staging - script: - - export NODE_ENV=REC - - export NGINX_PORT=8080 - - docker-compose --project-name data-reloaded-rec build --build-arg env=rec nginx-app - -deploy_staging: - stage: deploy - only: - - staging - script: - - export NODE_ENV=REC - - export NGINX_PORT=8080 - - export MATOMO_SITE_ID=3 - - export MATOMO_SERVER_URL=https://matomo-intothesky.alpha.grandlyon.com - - docker-compose --project-name data-reloaded-rec up -d - environment: - name: staging - url: https://data-reloaded-rec.alpha.grandlyon.com \ No newline at end of file + - sonar-scanner -D sonar.projectKey=data-reloaded-1-neo-dgl2018 -D sonar.sources=. \ No newline at end of file diff --git a/angular.json b/angular.json index 9f079276c2b7cca96aa7d88ddc7b35689352bf96..976d9dbb9a541002ec30b1da7835899d5b44e46f 100644 --- a/angular.json +++ b/angular.json @@ -85,7 +85,7 @@ "fileReplacements": [ { "replace": "src/environments/environment.ts", - "with": "src/environments/environment.rec.ts" + "with": "src/environments/environment.staging.ts" } ] }, @@ -149,7 +149,7 @@ "i18nLocale": "en", "baseHref": "/en/" }, - "recette-fr": { + "staging-fr": { "optimization": true, "outputHashing": "all", "sourceMap": false, @@ -162,7 +162,7 @@ "fileReplacements": [ { "replace": "src/environments/environment.ts", - "with": "src/environments/environment.rec.ts" + "with": "src/environments/environment.staging.ts" }, { "replace": "src/i18n/geosource/geosource.ts", @@ -187,7 +187,7 @@ "i18nLocale": "fr", "baseHref": "/fr/" }, - "recette-en": { + "staging-en": { "optimization": true, "outputHashing": "all", "sourceMap": false, @@ -200,7 +200,7 @@ "fileReplacements": [ { "replace": "src/environments/environment.ts", - "with": "src/environments/environment.rec.ts" + "with": "src/environments/environment.staging.ts" } ], "outputPath": "dist/en", diff --git a/docker-compose-development.tests.yml b/docker-compose-development.tests.yml index 5d6a0a9737820ead473af5b6aa41a374f409e7e7..283078837410f90cf1ef8b050b97be0f2fa6c1c3 100644 --- a/docker-compose-development.tests.yml +++ b/docker-compose-development.tests.yml @@ -1,4 +1,4 @@ -version: "2" +version: "3" services: nginx-test: diff --git a/docker-compose.yml b/docker-compose.yml index 86cb7bff61c99dce84f39ef2d4853baf0b1f6467..eced16982be81ccced71c19576160b705ab46ef3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,11 +1,11 @@ -version: "2" +version: "3" services: nginx-app: - container_name: nginx-app-${NODE_ENV} + container_name: nginx-app-${TAG} restart: unless-stopped - build: - context: ./ + build: . + image: registry.alpha.grandlyon.com/refonte-data/portail-data:${TAG} volumes: - ./nginx.conf.template:/etc/nginx/nginx.conf.template ports: diff --git a/package.json b/package.json index 88eeef014394f062ad2a2ba015f5cfbf8554d8c8..dfd1652e4625afd462e1001ef26cc5102eff6d19 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,9 @@ "start-aot-fr": "ng serve --configuration=aot-fr", "start-aot-en": "ng serve --configuration=aot-en", "build-i18n:dev": "for lang in en fr; do ng build --prod --build-optimizer --configuration=development-$lang; done", - "build-i18n:rec": "for lang in en fr; do ng build --prod --build-optimizer --configuration=recette-$lang; done", - "win-build-i18n:fr": "ng build --prod --build-optimizer --configuration=recette-fr", - "win-build-i18n:en": "ng build --prod --build-optimizer --configuration=recette-en", + "build-i18n:rec": "for lang in en fr; do ng build --prod --build-optimizer --configuration=staging-$lang; done", + "win-build-i18n:fr": "ng build --prod --build-optimizer --configuration=staging-fr", + "win-build-i18n:en": "ng build --prod --build-optimizer --configuration=staging-en", "win-build-i18n": "npm run win-build-i18n:en && npm run win-build-i18n:fr", "test": "ng test --browsers=Chrome --code-coverage=true", "test:ci": "ng test --browsers=ChromeHeadlessCI --code-coverage=true --watch=false", diff --git a/src/environments/environment.rec.ts b/src/environments/environment.staging.ts similarity index 100% rename from src/environments/environment.rec.ts rename to src/environments/environment.staging.ts