diff --git a/rails/gitlab-ci.yml b/rails/gitlab-ci.yml
index d3981bb0d27d41e9d3c0f33edc48c59593d84b58..1c044852297ec194f9264b31e0efcc8ef0e5d84a 100644
--- a/rails/gitlab-ci.yml
+++ b/rails/gitlab-ci.yml
@@ -1,7 +1,6 @@
 variables:
   CI: "true"
   RAILS_ENV: test
-  BUNDLE_PATH: vendor/bundle
 
 set_ruby_version:
   stage: build
@@ -17,82 +16,42 @@ rubocop:
   image: ruby:$RUBY_VERSION
   tags:
     - rails
-  cache:
-    when: always
-    paths:
-      - vendor/bundle
-  before_script:
-    - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
-    - gem install bundler --silent
-    - bundle add --skip-install --group=test --version=1.65.1 rubocop
-    - bundle add --skip-install --group=test --version=2.21.0 rubocop-capybara
-    - bundle add --skip-install --group=test --version=0.35.1 rubocop-minitest
-    - bundle add --skip-install --group=test --version=1.21.1 rubocop-performance
-    - bundle add --skip-install --group=test --version=2.25.1 rubocop-rails
-    - bundle install --jobs $(nproc) --quiet
   script:
-    - bundle exec rubocop
+    - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
+    - gem install rubocop:1.65.1 rubocop-capybara:2.21.0 rubocop-minitest:0.35.1 rubocop-performance:1.21.1 rubocop-rails:2.25.1 --silent
+    - rubocop
 
 erb_lint:
   stage: test
   image: ruby:$RUBY_VERSION
   tags:
     - rails
-  cache:
-    when: always
-    paths:
-      - vendor/bundle
-  before_script:
+  script:
     - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
     - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/erb-lint.yml" -O ".erb-lint.yml"
-    - gem install bundler --silent
-    - bundle add --skip-install --group=test --version=1.65.1 rubocop
-    - bundle add --skip-install --group=test --version=2.21.0 rubocop-capybara
-    - bundle add --skip-install --group=test --version=0.35.1 rubocop-minitest
-    - bundle add --skip-install --group=test --version=1.21.1 rubocop-performance
-    - bundle add --skip-install --group=test --version=2.25.1 rubocop-rails
-    - bundle install --jobs $(nproc) --quiet
-  script:
-    - bundle exec erblint --lint-all --allow-no-files true
+    - gem install rubocop:1.65.1 rubocop-capybara:2.21.0 rubocop-minitest:0.35.1 rubocop-performance:1.21.1 rubocop-rails:2.25.1 erb_lint:0.6.0 --silent
+    - erblint --lint-all --allow-no-files true
 
 haml_lint:
   stage: test
   image: ruby:$RUBY_VERSION
   tags:
     - rails
-  cache:
-    when: always
-    paths:
-      - vendor/bundle
-  before_script:
+  script:
     - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
     - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/haml-lint.yml" -O ".haml-lint.yml"
-    - gem install bundler --silent
-    - bundle add --skip-install --group=test --version=1.65.1 rubocop
-    - bundle add --skip-install --group=test --version=2.21.0 rubocop-capybara
-    - bundle add --skip-install --group=test --version=0.35.1 rubocop-minitest
-    - bundle add --skip-install --group=test --version=1.21.1 rubocop-performance
-    - bundle add --skip-install --group=test --version=2.25.1 rubocop-rails
-    - bundle install --jobs $(nproc) --quiet
-  script:
-    - bundle exec haml-lint
+    - gem install rubocop:1.65.1 rubocop-capybara:2.21.0 rubocop-minitest:0.35.1 rubocop-performance:1.21.1 rubocop-rails:2.25.1 haml_lint:0.58.0 --silent
+    - haml-lint
 
 brakeman:
   stage: test
   image: ruby:$RUBY_VERSION
   tags:
     - rails
-  cache:
-    when: always
-    paths:
-      - vendor/bundle
-  before_script:
-    - rm -f ./config/brakeman.yml ./config/brakeman.ignore
-    - gem install bundler
-    - bundle add --skip-install --group=test --version=6.2.1 brakeman
-    - bundle install --jobs $(nproc) --quiet
   script:
-    - bundle exec brakeman -A --except UnscopedFind
+    - rm -f ./config/brakeman.yml ./config/brakeman.ignore
+    - gem install brakeman:6.2.1 --silent
+    - brakeman -A --except UnscopedFind
 
 rails_test_all:
   stage: test
@@ -105,6 +64,7 @@ rails_test_all:
     - name: selenium/standalone-chrome:latest
       alias: chrome
   variables:
+    BUNDLE_PATH: vendor/bundle
     SELENIUM_URL: http://chrome:4444/wd/hub
     MYSQL_DATABASE: mysql
     MYSQL_USER: mysql
@@ -116,7 +76,7 @@ rails_test_all:
     POSTGRES_USER: postgres
     POSTGRES_PASSWORD: postgres
     POSTGRES_URL: "postgresql://postgres:postgres@postgres:5432"
-  cache:
+  cache
     when: always
     paths:
       - vendor/bundle
@@ -126,8 +86,7 @@ rails_test_all:
       - tmp/screenshots
       - log/test.log
     expire_in: 1 week
-  before_script:
+  script:
     - gem install bundler --silent
     - bundle install --jobs $(nproc) --quiet
-  script:
-    - bundle exec bin/rails db:prepare test:all
+    - bin/rails db:prepare test:all