diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 477c15421a4af18598b1e1b3d8f89bf445043aab..de059b40ba24dd958cf03176928afc828720f158 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -147,6 +147,7 @@ build-metadata-service:
   stage: build
   only:
     - merge_requests
+    - master
   script:
     - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
   # Compiled classes are needed for SonarQube in later stages
@@ -167,6 +168,7 @@ build-analyse-service:
   stage: build
   only:
     - merge_requests
+    - master
   variables:
     PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
   script:
@@ -189,6 +191,7 @@ build-data-service:
   stage: build
   only:
     - merge_requests
+    - master
   needs:
     - build-metadata-service
   dependencies:
@@ -211,6 +214,7 @@ build-ui:
   stage: build
   only:
     - merge_requests
+    - master
   script:
     - "cd ./dbrepo-ui && bun install && bun run build"
 
@@ -219,6 +223,7 @@ build-search-service:
   stage: build
   only:
     - merge_requests
+    - master
   before_script:
     - "pip install pipenv"
   script:
@@ -229,6 +234,7 @@ build-images:
   stage: build
   only:
     - merge_requests
+    - master
   before_script:
     - "apk add --no-cache make"
     - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
@@ -239,8 +245,9 @@ build-helm:
   image: docker.io/docker:${DOCKER_VERSION}-dind
   stage: build
   only:
-    - merge_requests
     - tags
+    - merge_requests
+    - master
   before_script:
     - apk add --no-cache helm make
     - echo "$CI_GPG_KEYRING" | base64 -d > ./secring.gpg