diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a14f64d0ec490489d3ba5791700354e6930757ed..c6feeeb2eaa9ddae5ea272ceba544ee26f5fd793 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,74 @@ variables: # include: # - template: Security/SAST.gitlab-ci.yml +build_stack: + stage: buildenv + variables: + DOCKER_TLS_CERTDIR: '' + DOCKER_HOST: tcp://docker:2375/ + DOCKER_DRIVER: overlay2 + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 + before_script: + - docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD} + script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - docker build -t "$CI_REGISTRY_IMAGE/cozy-env:latest" ./docker/ + - docker push $CI_REGISTRY_IMAGE/cozy-env:latest + only: + - master + - dev + when: manual + +sonarqube-mr: + stage: quality + only: + - merge_requests + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/sonarsource/sonar-scanner-cli:4 + variables: + SONAR_USER_HOME: '${CI_PROJECT_DIR}/.sonar' # Defines the location of the analysis task cache + GIT_DEPTH: '0' # T + cache: + key: '${CI_JOB_NAME}' + paths: + - .sonar/cache + script: + - > + sonar-scanner + -Dsonar.projectName=ecolyo-mr + -Dsonar.projectVersion=1.0 + -Dsonar.sourceEncoding=UTF-8 + -Dsonar.projectBaseDir=. + -Dsonar.host.url=${SONAR_URL} + -Dsonar.projectKey=ecolyo-mr + -Dsonar.login=${SONAR_MR_TOKEN} + -Dsonar.cpd.exclusions=tests/**,src/**/*.spec.ts* + -Dsonar.qualitygate.wait=true + +sonarqube: + stage: quality + only: + - dev + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/sonarsource/sonar-scanner-cli:4 + variables: + SONAR_USER_HOME: '${CI_PROJECT_DIR}/.sonar' # Defines the location of the analysis task cache + GIT_DEPTH: '0' # T + cache: + key: '${CI_JOB_NAME}' + paths: + - .sonar/cache + script: + - > + sonar-scanner + -Dsonar.projectName=ecolyo + -Dsonar.projectVersion=1.0 + -Dsonar.sourceEncoding=UTF-8 + -Dsonar.projectBaseDir=. + -Dsonar.host.url=${SONAR_URL} + -Dsonar.projectKey=ecolyo + -Dsonar.login=${SONAR_TOKEN} + -Dsonar.cpd.exclusions=tests/**,src/**/*.spec.ts* + -Dsonar.qualitygate.wait=true + test: stage: test before_script: @@ -43,7 +111,7 @@ test: - master - merge_requests -build-renovate: +build-mr: stage: build before_script: - apk add git @@ -55,9 +123,9 @@ build-renovate: - merge_requests artifacts: paths: - - build/assets + - build -build-test-review: +build-for-testing: stage: build before_script: - apk add git @@ -77,7 +145,7 @@ build-test-review: when: manual -build-dev: +build-dev-branch: stage: build before_script: - apk add git @@ -94,7 +162,6 @@ build-dev: - yarn deploy-dev only: - dev - - tags build: stage: build @@ -114,91 +181,15 @@ build: only: - master -build_stack: - stage: buildenv - variables: - DOCKER_TLS_CERTDIR: '' - DOCKER_HOST: tcp://docker:2375/ - DOCKER_DRIVER: overlay2 - image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 - before_script: - - docker login ${CI_DEPENDENCY_PROXY_SERVER} -u ${CI_DEPENDENCY_PROXY_USER} -p ${CI_DEPENDENCY_PROXY_PASSWORD} - script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - - docker build -t "$CI_REGISTRY_IMAGE/cozy-env:latest" ./docker/ - - docker push $CI_REGISTRY_IMAGE/cozy-env:latest - only: - - master - - dev - when: manual - -publish: - stage: publish - before_script: - - apk add git - script: - - yarn cozyPublish - only: - - tags - when: manual - -sonarqube: - stage: quality - only: - - dev - image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/sonarsource/sonar-scanner-cli:4 - variables: - SONAR_USER_HOME: '${CI_PROJECT_DIR}/.sonar' # Defines the location of the analysis task cache - GIT_DEPTH: '0' # T - cache: - key: '${CI_JOB_NAME}' - paths: - - .sonar/cache - script: - - > - sonar-scanner - -Dsonar.projectName=ecolyo - -Dsonar.projectVersion=1.0 - -Dsonar.sourceEncoding=UTF-8 - -Dsonar.projectBaseDir=. - -Dsonar.host.url=${SONAR_URL} - -Dsonar.projectKey=ecolyo - -Dsonar.login=${SONAR_TOKEN} - -Dsonar.cpd.exclusions=tests/**,src/**/*.spec.ts* - -Dsonar.qualitygate.wait=true - -sonarqube-mr: - stage: quality - only: - - merge_requests - image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/sonarsource/sonar-scanner-cli:4 - variables: - SONAR_USER_HOME: '${CI_PROJECT_DIR}/.sonar' # Defines the location of the analysis task cache - GIT_DEPTH: '0' # T - cache: - key: '${CI_JOB_NAME}' - paths: - - .sonar/cache - script: - - > - sonar-scanner - -Dsonar.projectName=ecolyo-mr - -Dsonar.projectVersion=1.0 - -Dsonar.sourceEncoding=UTF-8 - -Dsonar.projectBaseDir=. - -Dsonar.host.url=${SONAR_URL} - -Dsonar.projectKey=ecolyo-mr - -Dsonar.login=${SONAR_MR_TOKEN} - -Dsonar.cpd.exclusions=tests/**,src/**/*.spec.ts* - -Dsonar.qualitygate.wait=true - -deploy_dev: +deploy-to-dev: stage: deploy tags: - deploy-alpha script: - cd /root/ecolyo-infra-scripts/cicid_scripts - './update_ecolyo_dev.sh' + dependencies: + - build-for-testing only: - merge_requests environment: @@ -206,7 +197,7 @@ deploy_dev: url: https://ecolyo.dev.cozy.self-data.alpha.grandlyon.com/ when: manual -deploy_demo: +deploy-to-ecolyodemo: stage: deploy tags: - deploy-alpha @@ -219,7 +210,7 @@ deploy_demo: name: ecolyodemo url: https://ecolyo.ecolyodemo.cozy.self-data.alpha.grandlyon.com/ -deploy_alpha: +deploy-to-all-instances: stage: deploy tags: - deploy-alpha @@ -228,3 +219,13 @@ deploy_alpha: - './update_all_ecolyo_dev.sh' only: - tags + +publish: + stage: publish + before_script: + - apk add git + script: + - yarn cozyPublish + only: + - tags + when: manual \ No newline at end of file