-
François Agneray authoredFrançois Agneray authored
.gitlab-ci.yml 1.72 KiB
stages:
- install_dependencies
- sonar
- build
- dockerize
variables:
VERSION: "3.7.0"
SONARQUBE_URL: https://sonarqube.lam.fr
install_dependencies:
image: node:16-slim
stage: install_dependencies
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- client/node_modules
policy: pull-push
script:
- cd client
- yarn install
sonar_scanner:
image: sonarsource/sonar-scanner-cli:latest
stage: sonar
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- client/node_modules
policy: pull
script:
- cd client
- sonar-scanner
-Dsonar.projectKey=anis-next
-Dsonar.sources=src
-Dsonar.projectVersion=$VERSION
-Dsonar.host.url=$SONARQUBE_URL
-Dsonar.login=$SONAR_TOKEN_CLIENT
-Dsonar.exclusions=**.spec.ts
-Dsonar.typescript.lcov.reportPaths=./coverage/anis-next/lcov.info
build:
image: node:16-slim
stage: build
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- client/node_modules
policy: pull
script:
- cd client
- yarn global add @angular/cli@latest
- ng build
artifacts:
paths:
- client/dist
dockerize:
image: docker:stable
stage: dockerize
cache: {}
script:
- cd client
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull $CI_REGISTRY/anis/anis-next/client:latest || true
- docker build --cache-from $CI_REGISTRY/anis/anis-next/client:latest -t $CI_REGISTRY/anis/anis-next/client:latest .
- docker push $CI_REGISTRY/anis/anis-next/client:latest