diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6f36569b7fcaa4633d181b82e6ee50b975bbc96c..2f0cc391b5169bb0c106bc11341f9adc933875a3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,26 +1,32 @@ -# You can override the included template(s) by including variable overrides -# SAST customization: https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings -# Secret Detection customization: https://docs.gitlab.com/ee/user/application_security/secret_detection/#customizing-settings -# Dependency Scanning customization: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#customizing-the-dependency-scanning-settings -# Note that environment variables can be set in several places -# See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence -image: docker:git -services: - - docker:dind +default: + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/node:14.15.4-alpine + services: + - name: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:20.10.9-dind + alias: docker + variables: - DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: '' + DOCKER_HOST: tcp://docker:2375/ + DOCKER_DRIVER: overlay2 + DEPENDENCY_PROXY: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/ stages: + - quality - test - build - - quality - deploy - publish +# Sast analysis should be fixed +# sast: +# stage: test +# rules: +# - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "dev"' +# include: +# - template: Security/SAST.gitlab-ci.yml + test: stage: test - image: node:14.18-alpine before_script: - apk add git script: @@ -39,7 +45,6 @@ test: build-test: stage: build - image: node:14.18-alpine before_script: - apk add git - apk add bash @@ -54,7 +59,6 @@ build-test: build-dev: stage: build - image: node:14.18-alpine before_script: - apk add git - apk add bash @@ -73,7 +77,6 @@ build-dev: build: stage: build - image: node:14.18-alpine before_script: - apk add git - apk add bash @@ -92,6 +95,8 @@ build: build_stack: stage: build + 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/ @@ -102,7 +107,6 @@ build_stack: publish: stage: publish - image: node:14.18-alpine before_script: - apk add git script: @@ -115,29 +119,49 @@ sonarqube: stage: quality only: - dev - image: registry.forge.grandlyon.com/apoyen2/sonnar-scanner-gl:master + when: manual + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/skilldlabs/sonar-scanner:4.0.0 + variables: + GIT_STRATEGY: clone + GIT_DEPTH: 0 before_script: - - export NODE_PATH=$NODE_PATH:`npm root -g` - - npm install -g typescript + - npm install --save sonar-scanner script: - - 'sonar-scanner -Dsonar.projectName="ecolyo" -Dsonar.projectVersion=1.0 -Dsonar.sourceEncoding=UTF-8 - -Dsonar.projectBaseDir=. -Dsonar.host.url=${SONAR_URL} -Dsonar.projectKey=${CI_PROJECT_PATH_SLUG} - -Dsonar.login=${SONAR_TOKEN} -Dsonar.cpd.exclusions=tests/**,src/**/*.spec.ts* - -Dsonar.qualitygate.wait=true' + - > + 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: registry.forge.grandlyon.com/apoyen2/sonnar-scanner-gl:master + when: manual + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/skilldlabs/sonar-scanner:4.0.0 + variables: + GIT_STRATEGY: clone + GIT_DEPTH: 0 before_script: - - export NODE_PATH=$NODE_PATH:`npm root -g` - - npm install -g typescript + - npm install --save sonar-scanner 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' + - > + 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_demo: stage: deploy @@ -158,8 +182,3 @@ deploy_alpha: - './update_all_ecolyo_dev.sh' only: - tags - -sast: - stage: test -include: - - template: Security/SAST.gitlab-ci.yml