diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e5b7b8a2b97d5addc2a4931f5b45dff6050a26a3..cbd0e04b3599f7fd033965f40ded86152e5edf80 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,9 +14,36 @@ stages: - build-push - deploy -build-test: +sonarqube: + stage: quality + image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/sonarsource/sonar-scanner-cli:4 + needs: [] + only: + - merge_requests + 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-backoffice-front" + -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 + +build: stage: build image: node:20-alpine + needs: [] before_script: - apk add git - apk add bash @@ -30,46 +57,23 @@ build-test: build-push: stage: build-push image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:25 + needs: [] variables: DOCKER_TLS_CERTDIR: '' DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 - needs: [] - only: - - master - - dev script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" --build-arg conf=prod . - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" - -sonarqube: - 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-backoffice-front" - -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 + - master + - dev deploy_rec: stage: deploy + needs: + - build-push environment: name: Recette - Ecolyo Agent url: https://ecolyo-agent-rec.apps.grandlyon.com/ @@ -77,7 +81,6 @@ deploy_rec: - NAMESPACE=ns-ecolyo-bo-r01-syn - sed -i "s/{{IMAGE_TAG}}/dev/" ./k8s/deployments/ecolyo-agent-client-deployment.yml - export KUBECONFIG=$KUBE_CONFIG_REC - script: - find k8s/ -name '*.yml' -exec sed -i "s/{{NS}}/$NAMESPACE/g" {} \; - sed -i "s/{{HOSTNAME}}/ecolyo-agent-rec.apps.grandlyon.com/g" ./k8s/routes/ecolyo-agent-client-route.yml @@ -99,6 +102,8 @@ deploy_rec: deploy_prod: stage: deploy + needs: + - build-push environment: name: Prod - Ecolyo Agent url: https://ecolyo-agent.apps.grandlyon.com/