diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 40619c9469c5b16570abc4b71fd90794988d91db..a6acff28190add94012fa772c3cd6895363a95f7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,6 +9,7 @@ variables: ## PIPELINE DEFINITION stages: + - check - build - test - release @@ -22,6 +23,18 @@ stages: - registry.cyberbrain.pw/docker/dind before_script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY + - alias drr="docker run --rm -v \${PWD}:\${PWD} -w \${PWD}" + +########################################################################################################## + +#### CHECK SECTION +check: + <<: *common + stage: check + variables: + GIT_DEPTH: 1 + script: + - drr registry.cyberbrain.pw/tools/hadolint:latest hadolint --ignore DL3007 Dockerfile ########################################################################################################## @@ -31,10 +44,9 @@ build: stage: build variables: GIT_DEPTH: 1 - DIRECTORY: '.' script: - docker pull "${CI_REGISTRY_IMAGE}:latest" || true - - docker build --cache-from "${CI_REGISTRY_IMAGE}:latest" -t "${CI_REGISTRY_IMAGE}:temp-${CI_PIPELINE_IID}" -f "./${DIRECTORY}/Dockerfile" "./${DIRECTORY}" + - docker build --cache-from "${CI_REGISTRY_IMAGE}:latest" -t "${CI_REGISTRY_IMAGE}:temp-${CI_PIPELINE_IID}" -f ./Dockerfile . - docker push "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ########################################################################################################## @@ -45,13 +57,11 @@ test: stage: test variables: GIT_STRATEGY: "none" - GIT_DEPTH: 0 script: - - docker pull "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" - - docker run --rm "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ansible --version - - docker run --rm "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ansible -m ping localhost - - docker run --rm "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ansible-lint --version - - docker run --rm "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ansible-lint . + - drr "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ansible --version + - drr "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ansible -m ping localhost + - drr "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ansible-lint --version + - drr "${CI_REGISTRY_IMAGE}:temp-$CI_PIPELINE_IID" ansible-lint . ########################################################################################################## @@ -61,7 +71,6 @@ release: stage: release variables: GIT_STRATEGY: "none" - GIT_DEPTH: 0 only: - /^development$/ - /^staging$/ diff --git a/Dockerfile b/Dockerfile index 2123f8f5f2f6616c7c735c1540de6c729b03899c..3abc89a1a0d3beb4fec163243bcf363a4fac12b4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,5 @@ FROM pipelinecomponents/ansible-lint -MAINTAINER Dmitriy Safronov <zimniy@cyberbrain.pw> ENV LANG C.UTF-8 ARG DEPENDENCIES_RUNTIME="git openssh-client"