diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bf7c56f8e379c0d37a67417e1072e319c3df69ff..3827269eb52fbc6944b8f3ef539836334c6d622a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,5 +3,7 @@ stages:
   - package
 
 include:
-  - local: '/scripts/ci/jobs/container.yml'
+  - local: '/scripts/ci/extends/container-maker-setup.yml'
+  - local: '/scripts/ci/jobs/build_image.yml'
   - local: '/scripts/ci/jobs/build.yml'
+  - local: '/scripts/ci/jobs/container.yml'
diff --git a/scripts/ci/extends/container-maker-setup.yml b/scripts/ci/extends/container-maker-setup.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fc19d828d939bf295988f826c17970d6533559bf
--- /dev/null
+++ b/scripts/ci/extends/container-maker-setup.yml
@@ -0,0 +1,7 @@
+.container-maker-setup:
+  before_script:
+    - git submodule update --init ThirdParty/container-maker
+    - virtualenv .venv
+    - source .venv/bin/activate
+    - pip install -r ThirdParty/container-maker/requirements.txt
+    - export PYTHONPATH="${PYTHONPATH}:${PWD}/ThirdParty/container-maker"
diff --git a/scripts/ci/jobs/build_image.yml b/scripts/ci/jobs/build_image.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b7691524b12133e8547b8a18970be1f8486115a7
--- /dev/null
+++ b/scripts/ci/jobs/build_image.yml
@@ -0,0 +1,13 @@
+build_image:
+  stage: .pre
+  # only:
+    # changes:
+      # - ThirdParty/container-maker
+  tags:
+    - docker-shell
+  variables:
+    GIT_STRATEGY: fetch
+  extends: .container-maker-setup
+  script:
+    # --jenkins? --gui?
+    - python ThirdParty/container-maker/ogscm/cli.py -B --ogs off --pm system --cvode --cppcheck --docs --gcovr
diff --git a/scripts/ci/jobs/container.yml b/scripts/ci/jobs/container.yml
index 0b9fb648b362a3bf164186efad6ae66337dc399c..cfaecb5d3700eb34969a54972d3bee9c75f797c3 100644
--- a/scripts/ci/jobs/container.yml
+++ b/scripts/ci/jobs/container.yml
@@ -1,19 +1,15 @@
 container:
+  stage: package
   only:
     refs:
       - master
   tags:
     - docker-shell
-  stage: package
   variables:
     GIT_STRATEGY: fetch
     OPENMPI_VERSIONS: 'off 2.1.6 3.1.4 4.0.1'
+  extends: .container-maker-setup
   script:
-    - git submodule update --init ThirdParty/container-maker
-    - virtualenv .venv
-    - source .venv/bin/activate
-    - pip install -r ThirdParty/container-maker/requirements.txt
-    - export PYTHONPATH="${PYTHONPATH}:${PWD}/ThirdParty/container-maker"
     - python ThirdParty/container-maker/ogscm/cli.py -B -C -R --ogs . --pm system --cvode --ompi $OPENMPI_VERSIONS
   artifacts:
     paths: