diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a623b6105c06007f7edd3cb6ba575587334372e9
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,29 @@
+stages:
+  - step1
+  - step2
+
+docker-build-push:
+  stage: step1
+  image:
+    name: registry-gitlab.pasteur.fr/dsi-tools/docker-images/docker:latest
+  services:
+    - registry-gitlab.pasteur.fr/dsi-tools/docker-images/docker:dind
+  script:
+    - docker login -u gitlab-ci-token -p "$CI_BUILD_TOKEN" registry-gitlab.pasteur.fr
+    - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME" .
+    - docker push "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME"
+    - docker tag "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
+    - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
+    - export MY_TIME=`date +"%F-%H%M"`
+    - docker tag  "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:$MY_TIME" 
+    - docker push "$CI_REGISTRY_IMAGE:$MY_TIME"
+
+singularity-build-push:
+  stage: step2
+  needs: ["docker-build-push"]
+  image:
+    name: quay.io/singularity/singularity:v3.8.4
+    entrypoint: [""]
+  script:
+    - singularity build singularity.sif Singularity
+    - singularity push --docker-username "${CI_REGISTRY_USER}" --docker-password "${CI_REGISTRY_PASSWORD}" singularity.sif oras://"$CI_REGISTRY_IMAGE":"latest"