diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1bafdff63044b41cfd9a8d2bb275184a7c924c12 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -0,0 +1,67 @@
+stages:
+  - build
+  - release
+
+
+build:
+  image: docker:20.10.16
+  # run on a gitlab-runner that is configured with docker-in-docker
+  tags:
+    - dind
+  stage: build
+  except:
+    - tags
+  services:
+    - docker:20.10.16-dind
+  variables:
+    # use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
+    # mounts /certs directory for the service and build container
+    # needed for the Docker client to use the certificates
+    DOCKER_TLS_CERTDIR: "/certs"
+  before_script:
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+  script:
+    # use previous image as a cache to speedup build process
+    - docker pull $CI_REGISTRY_IMAGE:latest || true
+    - cd dexer/ && docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA .
+
+build:tagged:
+  image: docker:20.10.16
+  # run on a gitlab-runner that is configured with docker-in-docker
+  tags:
+    - dind
+  stage: build
+  # only for git tags
+  only:
+    - tags
+  services:
+    - docker:20.10.16-dind
+  variables:
+    # use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
+    # mounts /certs directory for the service and build container
+    # needed for the Docker client to use the certificates
+    DOCKER_TLS_CERTDIR: "/certs"
+  before_script:
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+  script:
+    # use previous image as a cache to speedup build process
+    - docker pull $CI_REGISTRY_IMAGE:latest || true
+    - cd dexer/ && docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG --tag $CI_REGISTRY_IMAGE:latest .
+    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
+    - docker push $CI_REGISTRY_IMAGE:latest
+
+release:
+  stage: release
+  image: registry.gitlab.com/gitlab-org/release-cli:latest
+  rules:
+    - if: $CI_COMMIT_TAG
+  script:
+    - echo "running release_job"
+  # See https://docs.gitlab.com/ee/ci/yaml/#release
+  release:
+    tag_name: '$CI_COMMIT_TAG'
+    description: '$CI_COMMIT_TAG'
+
+
+
+