stages: - test - sonar-analysis - build - deploy default: services: - name: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09-dind alias: docker variables: DEPENDENCY_PROXY: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/ build: variables: DOCKER_TLS_CERTDIR: '' DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 only: - dev - rec - master stage: build script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" build_branch: variables: DOCKER_TLS_CERTDIR: '' DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 stage: build except: - master - rec - dev script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build --pull -t "$CI_REGISTRY_IMAGE/feat:$CI_COMMIT_REF_SLUG" --build-arg conf=prod . - docker push "$CI_REGISTRY_IMAGE/feat:$CI_COMMIT_REF_SLUG" build-release: variables: DOCKER_TLS_CERTDIR: '' DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 services: - ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/:18.09-dind stage: build only: - tags script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build --pull -t "$CI_REGISTRY_IMAGE/tags:$CI_COMMIT_TAG" --build-arg conf=prod . - docker push "$CI_REGISTRY_IMAGE/tags:$CI_COMMIT_TAG" deploy_dev: stage: deploy tags: - deploy only: - dev script: - cd /home/mps/ram - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker-compose pull service-ram - docker-compose up -d --force-recreate service-ram - docker system prune -a -f environment: name: dev url: https://resin-dev.grandlyon.com test: stage: test image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/node:14.15.4 services: - name: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/elasticsearch:7.16.2 alias: elasticsearch command: ['bin/elasticsearch', '-Expack.security.enabled=false', '-Ediscovery.type=single-node'] before_script: - export GHOST_HOST_AND_PORT=http://localhost:2368 - export GHOST_ADMIN_API_KEY=60142bc9e33940000156bccc:6217742e2671e322612e89cac9bab61fcd01822709fe5d8f5e6a5b3e54d5e6bb - export SALT=$TEST_SALT - export ELASTICSEARCH_NODE=http://elasticsearch:9200 script: - npm i - npm run test:cov coverage: /All files[^|]*\|[^|]*\s+([\d\.]+)/ artifacts: when: always reports: junit: - junit.xml only: - dev - merge_requests # code_analysis: # image: registry.forge.grandlyon.com/apoyen2/sonnar-scanner-gl:master # services: # - docker:18.09-dind # stage: sonar-analysis # only: # - dev # - merge_requests # before_script: # - export NODE_PATH=$NODE_PATH:`npm root -g` # - npm install -g typescript # script: # - > # sonar-scanner # -Dsonar.projectName=${SONAR_PROJECT_KEY} # -Dsonar.projectVersion=1.0 # -Dsonar.sourceEncoding=UTF-8 # -Dsonar.projectBaseDir=. # -Dsonar.host.url=${SONAR_URL} # -Dsonar.projectKey=${SONAR_PROJECT_KEY} # -Dsonar.exclusions=scripts/**,**/*mock.*.ts,**/*spec.ts # -Dsonar.login=${SONAR_TOKEN} # -Dsonar.qualitygate.wait=true mr: variables: DOCKER_TLS_CERTDIR: '' DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 stage: build only: - merge_requests script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build .