image: docker:latest

services:
  - docker:dind
  - mongo:latest

variables:
  DOCKER_DRIVER: overlay
  NODE_ENV: "gitlab"
  API_TITLE: "Backend as a Service"

before_script:
  - export CI_BUILD_SHA="x${CI_BUILD_REF:0:8}"

stages:
  - test
  - dockerize

job_test:
  stage: test
  image: node:8.5.0
  script:
    - nohup npm start &
    - sleep 30 && npm test

job_dockerize:
  stage: dockerize
  script:
    - docker login -u "gitlab-ci-token" -p "${CI_BUILD_TOKEN}" "${CI_REGISTRY}"
    - docker info
    - docker build --pull -t "${CI_REGISTRY_IMAGE}:${CI_BUILD_SHA}" .
    - docker tag "${CI_REGISTRY_IMAGE}:${CI_BUILD_SHA}" "${CI_REGISTRY_IMAGE}:staging"
    - docker push "${CI_REGISTRY_IMAGE}:staging"
  environment:
    name: staging
  only:
    - master

