diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c3cb56765e1eb330d4001fc8a53c3df198c44394..e17a4581703791abf680df8e2beabc12fc5acb07 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,36 +7,55 @@ variables: ########################################################################################################## -### PIPELINE DEFINITION +## PIPELINE DEFINITION stages: - build + - test - release ########################################################################################################## -### BUILD SECTION +### 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 - 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" ########################################################################################################## -### RELEASE SECTION +#### TEST SECTION +test: + <<: *common + stage: test + image: "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" + variables: + GIT_STRATEGY: "none" + GIT_DEPTH: 0 + script: + - ansible-lint --version + - ansible-lint . + +########################################################################################################## + +#### RELEASE SECTION release: + <<: *common stage: release - image: docker:latest - services: - - docker:dind variables: GIT_STRATEGY: "none" GIT_DEPTH: 0 @@ -44,8 +63,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