Loading .dockerignore 0 → 100644 +3 −0 Original line number Diff line number Diff line # Created by .ignore support plugin (hsz.mobi) ** !/Dockerfile .gitlab-ci.yml 0 → 100644 +66 −0 Original line number Diff line number Diff line ### PIPELINE DEFINITION stages: - build - test - release variables: DOCKER_BUILDKIT: 1 DOCKER_DRIVER: overlay2 DOCKER_HOST: tcp://localhost:2375 DOCKER_TLS_CERTDIR: "" ########################################################################################################## ### BUILD SECTION build: stage: build image: docker:latest services: - docker:dind variables: GIT_DEPTH: 1 DIRECTORY: '.' before_script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY script: - docker build -t "${CI_REGISTRY_IMAGE}:temp-${CI_PIPELINE_IID}" -f "./${DIRECTORY}/Dockerfile" "./${DIRECTORY}" - docker push "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ########################################################################################################## ### TEST SECTION test: stage: test image: docker:latest services: - "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" variables: GIT_STRATEGY: "none" GIT_DEPTH: 0 script: - docker info ########################################################################################################## ### RELEASE SECTION release: stage: release image: docker:latest services: - docker:dind variables: GIT_STRATEGY: "none" GIT_DEPTH: 0 only: - /^development$/ - /^staging$/ - /^master$/ before_script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY script: - export VERSION_OLD=temp-$CI_PIPELINE_IID - export VERSION_NEW=$CI_COMMIT_REF_SLUG - test $CI_COMMIT_REF_SLUG = "master" && { export VERSION_NEW=latest; } - echo "Running [$VERSION_NEW] release from [$VERSION_OLD] build!" - docker pull $CI_REGISTRY_IMAGE:$VERSION_OLD && ( docker tag $CI_REGISTRY_IMAGE:$VERSION_OLD $CI_REGISTRY_IMAGE:$VERSION_NEW && docker push $CI_REGISTRY_IMAGE:$VERSION_NEW ) || true Dockerfile 0 → 100644 +4 −0 Original line number Diff line number Diff line FROM docker:dind MAINTAINER Dmitriy Safronov <zimniy@cyberbrain.pw> ENV LANG C.UTF-8 Loading
.dockerignore 0 → 100644 +3 −0 Original line number Diff line number Diff line # Created by .ignore support plugin (hsz.mobi) ** !/Dockerfile
.gitlab-ci.yml 0 → 100644 +66 −0 Original line number Diff line number Diff line ### PIPELINE DEFINITION stages: - build - test - release variables: DOCKER_BUILDKIT: 1 DOCKER_DRIVER: overlay2 DOCKER_HOST: tcp://localhost:2375 DOCKER_TLS_CERTDIR: "" ########################################################################################################## ### BUILD SECTION build: stage: build image: docker:latest services: - docker:dind variables: GIT_DEPTH: 1 DIRECTORY: '.' before_script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY script: - docker build -t "${CI_REGISTRY_IMAGE}:temp-${CI_PIPELINE_IID}" -f "./${DIRECTORY}/Dockerfile" "./${DIRECTORY}" - docker push "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ########################################################################################################## ### TEST SECTION test: stage: test image: docker:latest services: - "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" variables: GIT_STRATEGY: "none" GIT_DEPTH: 0 script: - docker info ########################################################################################################## ### RELEASE SECTION release: stage: release image: docker:latest services: - docker:dind variables: GIT_STRATEGY: "none" GIT_DEPTH: 0 only: - /^development$/ - /^staging$/ - /^master$/ before_script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY script: - export VERSION_OLD=temp-$CI_PIPELINE_IID - export VERSION_NEW=$CI_COMMIT_REF_SLUG - test $CI_COMMIT_REF_SLUG = "master" && { export VERSION_NEW=latest; } - echo "Running [$VERSION_NEW] release from [$VERSION_OLD] build!" - docker pull $CI_REGISTRY_IMAGE:$VERSION_OLD && ( docker tag $CI_REGISTRY_IMAGE:$VERSION_OLD $CI_REGISTRY_IMAGE:$VERSION_NEW && docker push $CI_REGISTRY_IMAGE:$VERSION_NEW ) || true
Dockerfile 0 → 100644 +4 −0 Original line number Diff line number Diff line FROM docker:dind MAINTAINER Dmitriy Safronov <zimniy@cyberbrain.pw> ENV LANG C.UTF-8