Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.94 KiB
Newer Older
  • Learn to ignore specific revisions
  • François Agneray's avatar
    François Agneray committed
    stages:
        - install
    
    François Agneray's avatar
    François Agneray committed
        - build
        - deploy
    
    variables:
    
    François Agneray's avatar
    François Agneray committed
        VERSION: "3.1"
    
        SONARQUBE_URL: https://sonarqube.lam.fr
    
    François Agneray's avatar
    François Agneray committed
        CONTAINER_IMAGE: portus.lam.fr/anis/anis-client
    
        COVERAGE_IMAGE: portus.lam.fr/anis/anis-client-coverage
    
    François Agneray's avatar
    François Agneray committed
    
    install:
    
        image: node:13-slim
    
    François Agneray's avatar
    François Agneray committed
        stage: install
        script:
            - yarn global add @angular/cli
            - yarn install
            - ng build --prod
        cache:
            paths:
                - dist
    
    François Agneray's avatar
    François Agneray committed
            policy: push
        only:
            refs:
    
        image: portus.lam.fr/ci-tools/angular-testing:latest
    
        stage: test
        script:
    
        cache:
            paths:
                - dist
                - node_modules
    
            policy: pull-push
        only:
            refs:
                - develop
    
    
    
    sonar_scanner:
        image: portus.lam.fr/ci-tools/sonar-scanner:latest
        stage: sonar
        script:
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
            - sonar-scanner
             -Dsonar.projectKey=anis-client
             -Dsonar.sources=src
             -Dsonar.projectVersion=$VERSION
             -Dsonar.host.url=$SONARQUBE_URL
             -Dsonar.login=$SONAR_TOKEN
             -Dsonar.exclusions=**.spec.ts
    
             -Dsonar.typescript.lcov.reportPaths=./var/coverage/lcov.info
    
        cache:
            paths:
                - node_modules
    
    François Agneray's avatar
    François Agneray committed
    
    build:
        image: docker:stable
        stage: build
        script:
            - docker login -u fagneray -p $PORTUS_TOKEN portus.lam.fr
    
            - docker pull $CONTAINER_IMAGE:latest || true
            - docker build --cache-from $CONTAINER_IMAGE:latest -t $CONTAINER_IMAGE:latest .
            - docker push $CONTAINER_IMAGE:latest
    
    François Agneray's avatar
    François Agneray committed
        cache:
            paths:
                - dist
            policy: pull
        only:
            refs:
    
    François Agneray's avatar
    François Agneray committed
    
    deploy:
        image: alpine
        stage: deploy
        script:
            - apk add --update curl
            - curl -XPOST $DEV_WEBHOOK
        only:
            refs: