image: docker:latest stages: - build - release - deploy #services: # - docker:dind variables: # DOCKER_HOST: tcp://docker:2375 DOCKER_HOST: unix:///var/run/docker.sock #before_script: # - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} pre: stage: build tags: # - dind - socket script: - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker version - docker info build: stage: build tags: # - dind - socket script: - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - cd docker/ - docker build --pull -t ${CI_REGISTRY_IMAGE}:${CI_BUILD_REF} . - docker push ${CI_REGISTRY_IMAGE}:${CI_BUILD_REF} release-image: stage: release only: - tags tags: # - dind - socket script: - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - echo "pull previous build" - docker pull ${CI_REGISTRY_IMAGE}:${CI_BUILD_REF} - echo "push tagged image" - docker tag ${CI_REGISTRY_IMAGE}:${CI_BUILD_REF} ${CI_REGISTRY_IMAGE}:${CI_BUILD_TAG} - docker push ${CI_REGISTRY_IMAGE}:${CI_BUILD_TAG} - echo "push latest image" - docker tag ${CI_REGISTRY_IMAGE}:${CI_BUILD_REF} ${CI_REGISTRY_IMAGE}:latest - docker push ${CI_REGISTRY_IMAGE}:latest deploy-container: stage: deploy when: manual # only: # - tags image: debian:jessie tags: - socket variables: DOCKER_HOST: unix:///var/run/docker.sock script: - ./docker-install - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker-compose up -d # - docker run -dit ${CI_REGISTRY_IMAGE}:${CI_BUILD_TAG} sh