diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 89ced607e5314d755cbf5fc9f5786f6fda1bc973..ec79a518808d996154a0e03bb8e126e670121190 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,4 @@ -### PIPELINE DEFINITION -stages: - - build - - test - - release - +# VARIABLES variables: DOCKER_BUILDKIT: 1 DOCKER_DRIVER: overlay2 @@ -12,27 +7,41 @@ variables: ########################################################################################################## -### BUILD SECTION -build: - stage: build +## PIPELINE DEFINITION +stages: + - build + - test + - release + +########################################################################################################## + +### COMMON SECTION +.common: &common image: registry.cyberbrain.pw/docker/docker services: - registry.cyberbrain.pw/docker/dind + before_script: + - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY + +########################################################################################################## + +#### BUILD SECTION +build: + <<: *common + stage: build 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 SECTION test: + <<: *common stage: test - image: registry.cyberbrain.pw/docker/docker services: - "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" variables: @@ -40,16 +49,14 @@ test: GIT_DEPTH: 0 script: - docker info - - docker run --rm hello-world + - docker run --rm registry.cyberbrain.pw/docker/hello-world ########################################################################################################## -### RELEASE SECTION +#### RELEASE SECTION release: + <<: *common stage: release - image: registry.cyberbrain.pw/docker/docker - services: - - registry.cyberbrain.pw/docker/dind variables: GIT_STRATEGY: "none" GIT_DEPTH: 0 @@ -57,8 +64,6 @@ release: - /^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