diff --git a/.gitlab-ci.yaml b/.gitlab-ci.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..23d3b003dfe03707781ad6ea7d2868b7a16fa086
--- /dev/null
+++ b/.gitlab-ci.yaml
@@ -0,0 +1,36 @@
+stages:
+  - build
+
+consentProvider_image:
+  stage: build
+  variables:
+    DOCKER_DRIVER: overlay2
+  image: docker:stable
+  services:
+    - docker:18-dind  # FIXME This is an older version of DIND. Update when gitlab-runner fixes https://gitlab.com/gitlab-org/gitlab-runner/issues/4501
+  before_script:
+    - docker info
+  script:
+    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+    - docker build -t ${CI_REGISTRY_IMAGE}/consent-provider:${CI_COMMIT_REF_NAME} consent-provider/
+    - docker push ${CI_REGISTRY_IMAGE}/consent-provider:${CI_COMMIT_REF_NAME}
+  only:
+    changes:
+      - consent-provider/*
+
+loginProvider_image:
+  stage: build
+  variables:
+    DOCKER_DRIVER: overlay2
+  image: docker:stable
+  services:
+    - docker:18-dind  # FIXME This is an older version of DIND. Update when gitlab-runner fixes https://gitlab.com/gitlab-org/gitlab-runner/issues/4501
+  before_script:
+    - docker info
+  script:
+    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+    - docker build -t ${CI_REGISTRY_IMAGE}/login-provider:${CI_COMMIT_REF_NAME} login-provider/
+    - docker push ${CI_REGISTRY_IMAGE}/login-provider:${CI_COMMIT_REF_NAME}
+  only:
+    changes:
+      - login-provider/*