Newer
Older
VERSION: "3.0"
SONARQUBE_URL: https://sonarqube.lam.fr
CONTAINER_IMAGE: portus.lam.fr/anis/anis-client
install:
image: node:11
stage: install
script:
- yarn global add @angular/cli
- yarn install
- ng build --prod
cache:
paths:
- dist
test:
image: node:11
stage: test
script:
- yarn global add @angular/cli
- echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' > /etc/apt/sources.list.d/chrome.list
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- apt-get update
- apt-get install -y google-chrome-stable
- ng test --no-watch
cache:
paths:
- dist
- node_modules
- coverage
policy: pull-push
only:
refs:
- develop
sonar_scanner:
image: portus.lam.fr/ci-tools/sonar-scanner:latest
stage: sonar
script:
- sonar-scanner -Dsonar.projectKey=anis-client -Dsonar.sources=src -Dsonar.projectVersion=$VERSION -Dsonar.host.url=$SONARQUBE_URL -Dsonar.login=$SONAR_TOKEN -Dsonar.typescript.lcov.reportPaths=./coverage/lcov.info
cache:
paths:
- node_modules
policy: pull
build:
image: docker:stable
stage: build
script:
- docker login -u fagneray -p $PORTUS_TOKEN portus.lam.fr
- docker pull $CONTAINER_IMAGE:latest-dev || true
- docker build --cache-from $CONTAINER_IMAGE:latest-dev -t $CONTAINER_IMAGE:latest-dev .
- docker push $CONTAINER_IMAGE:latest-dev
cache:
paths:
- dist
policy: pull
only:
refs:
deploy:
image: alpine
stage: deploy
script:
- apk add --update curl
- curl -XPOST $DEV_WEBHOOK
only:
refs: