stages: - sonar-analysis - build - deploy default: services: - name: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09-dind alias: docker variables: DOCKER_TLS_CERTDIR: '' DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 DEPENDENCY_PROXY: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/ build_branch: image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 stage: build except: - master - recette - 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: image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 stage: build only: - master - recette 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" build-release: image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 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" build_dev: image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 stage: build only: - dev script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build --pull -t "$CI_REGISTRY_IMAGE:dev" --build-arg conf=dev . - docker push "$CI_REGISTRY_IMAGE:dev" deploy_dev: stage: deploy variables: {} tags: - deploy only: - dev script: - cd /home/mps/ram - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker-compose pull web-app - docker-compose up -d web-app - docker system prune -a -f environment: name: dev url: https://resin-dev.grandlyon.com deploy_rec: stage: deploy variables: {} tags: - deploy only: - recette script: - cd /home/mps/ram - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker-compose pull web-app-rec - docker-compose up -d web-app-rec - docker system prune -a -f when: manual environment: name: rec url: https://resin-rec.grandlyon.com # code_analysis: # image: skilldlabs/sonar-scanner:3.4.0 # services: # - docker:18.09-dind # stage: sonar-analysis # only: # - dev # 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.login=${SONAR_TOKEN} mr: image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:18.09 services: - docker:18.09-dind stage: build only: - merge_requests script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build --pull -t "$CI_REGISTRY_IMAGE:dev" --build-arg conf=dev .