diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e7f1aa28db1b326da4ebe16ff16a1186aeea65ef..78e537aecaf90b57fd0de6eca8bf310b11e92cb6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,62 +1,57 @@
-image: docker:latest
+image: registry.vereign.com/docker/docker:master
 services:
-- docker:dind
+ - registry.vereign.com/docker/docker:dind-master
+
+variables:
+  DOCKER_CLI_EXPERIMENTAL: 'enabled'
+  JOB_IMAGE: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
+  MANIFEST_IMAGE:  $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
+  CI_DEBUG_TRACE: "true"
 
 stages:
 - build
 - manifest
-- deploy
-
-variables:
-  DOCKER_TLS_CERTDIR: "/certs"
-  DOCKER_CONFIG: ~/.docker/$CI_JOB_ID
-  IMAGE_amd64:         $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
-  IMAGE_ppc64le:       $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
-  MANIFEST:            $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
+#- deploy
 
 before_script:
-  - "[ -d $DOCKER_CONFIG ] || mkdir -p $DOCKER_CONFIG"
-  - "echo '{ \"experimental\": \"enabled\" }' > $DOCKER_CONFIG/config.json"
   - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
 
-
-after_script:
-  - "docker rmi $MANIFEST $IMAGE_amd64 $IMAGE_ppc64le ||  true"
-  - "rm -vRf $DOCKER_CONFIG"
+.build:
+  script:
+    - docker build --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg GITLAB_LOGIN=gitlab-ci-token --build-arg GITLAB_PASSWORD=$CI_JOB_TOKEN --pull -t $JOB_IMAGE -f Dockerfile .
+    - docker push $JOB_IMAGE
 
 ppc64le:
+  extends: .build
   stage: build
   tags:
-    - ppc64le
-  script:
-    - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg GITLAB_LOGIN=gitlab-ci-token --build-arg GITLAB_PASSWORD=$CI_JOB_TOKEN   --pull -t $IMAGE_ppc64le -f Dockerfile .
-    - docker push $IMAGE_ppc64le
+    - ppc64le-docker
+    - docker
 
 amd64:
-  variables:
+  extends: .build
   stage: build
   tags:
-    - amd64
-  script:
-    - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg GITLAB_LOGIN=gitlab-ci-token --build-arg GITLAB_PASSWORD=$CI_JOB_TOKEN --pull -t $IMAGE_amd64 -f Dockerfile .
-    - docker push $IMAGE_amd64
+    - amd64-docker
+    - docker
 
 manifest:
   stage: manifest
+  variables:
+    IMAGE_amd64: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
+    IMAGE_ppc64le: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
   tags:
-    - amd64
-  script:
-    - docker manifest create   $MANIFEST $IMAGE_amd64 $IMAGE_ppc64le
-    - docker manifest annotate $MANIFEST $IMAGE_amd64   --os linux --arch amd64
-    - docker manifest annotate $MANIFEST $IMAGE_ppc64le --os linux --arch ppc64le
-    - docker manifest push     $MANIFEST
-
-deploy:
-  stage: deploy
-  tags:
-    - ppc64le
-  only:
-    - master
+    - ppc64le-docker
   script:
-    - for ref in $DEPLOYENVS; do curl -X POST -F token=$TRIGGER_TOKEN -F ref=$ref -F variables[branch]=$CI_COMMIT_REF_NAME $TRIGGER_CODE_BUILD; done
+    - docker manifest create $MANIFEST_IMAGE $IMAGE_amd64 $IMAGE_ppc64le
+    - docker manifest push $MANIFEST_IMAGE
+
+# deploy:
+#   stage: deploy
+#   tags:
+#     - ppc64le
+#   only:
+#     - master
+#   script:
+#     - for ref in $DEPLOYENVS; do curl -X POST -F token=$TRIGGER_TOKEN -F ref=$ref -F variables[branch]=$CI_COMMIT_REF_NAME $TRIGGER_CODE_BUILD; done