Commit 4114e800 authored by Dmitriy Safronov's avatar Dmitriy Safronov
Browse files

Optimized CI

parent 350b1d38
Loading
Loading
Loading
Loading
Loading
+25 −20
Original line number Diff line number Diff line
### 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