diff --git a/zuul.d/docker-images/gerrit.yaml b/zuul.d/docker-images/gerrit.yaml
index cccbeffd90..3127b82fb8 100644
--- a/zuul.d/docker-images/gerrit.yaml
+++ b/zuul.d/docker-images/gerrit.yaml
@@ -134,6 +134,99 @@
     vars: *gerrit_vars_3_7
     files: *gerrit_files_3_7
 
+# Gerrit 3.8 jobs
+- job:
+    name: system-config-build-image-gerrit-3.8
+    description: Build a gerrit image.
+    parent: system-config-build-image
+    pre-run:
+      - playbooks/zuul/gerrit/repos.yaml
+      - playbooks/zuul/gerrit/submodules.yaml
+    run: playbooks/zuul/gerrit/run.yaml
+    requires: gerrit-base-container-image
+    provides: gerrit-3.8-container-image
+    required-projects: &gerrit_projects_3_8
+      - name: opendev/system-config
+        override-checkout: master
+      - name: gerrit.googlesource.com/gerrit
+        override-checkout: stable-3.8
+      # Backend behavior plugins
+      - name: gerrit.googlesource.com/plugins/commit-message-length-validator
+        override-checkout: v3.8.0-rc3
+      - name: gerrit.googlesource.com/plugins/delete-project
+        override-checkout: v3.8.0-rc3
+      - name: gerrit.googlesource.com/plugins/hooks
+        override-checkout: v3.8.0-rc3
+      - name: gerrit.googlesource.com/plugins/its-base
+        # There is no 3.8 branch
+        override-checkout: master
+      - name: gerrit.googlesource.com/plugins/its-storyboard
+        # There is no 3.8 branch
+        override-checkout: master
+      - name: gerrit.googlesource.com/plugins/plugin-manager
+        override-checkout: v3.8.0-rc3
+      - name: gerrit.googlesource.com/plugins/replication
+        override-checkout: v3.8.0-rc3
+      # The v3.8.0-rc3 version of reviewnotes fails with
+      # plugins/reviewnotes/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/RefUpdateListener.java:73: error: [ReturnMissingNullable] Method returns a definitely null value but is not annotated @Nullable
+      - name: gerrit.googlesource.com/plugins/reviewnotes
+        override-checkout: master
+      - name: gerrit.googlesource.com/plugins/singleusergroup
+        override-checkout: v3.8.0-rc3
+      - name: gerrit.googlesource.com/plugins/webhooks
+        override-checkout: v3.8.0-rc3
+      # UI behavior plugins
+      - name: gerrit.googlesource.com/plugins/codemirror-editor
+        override-checkout: v3.8.0-rc3
+      - name: gerrit.googlesource.com/plugins/download-commands
+        override-checkout: v3.8.0-rc3
+      - name: gerrit.googlesource.com/plugins/gitiles
+        override-checkout: v3.8.0-rc3
+      - name: gerrit.googlesource.com/plugins/zuul-results-summary
+        override-checkout: main
+      # Non plugin submodules
+      - name: gerrit.googlesource.com/jgit
+        override-checkout: master
+      - name: gerrit.googlesource.com/polymer-bridges
+        override-checkout: v3.8.0-rc3
+    vars: &gerrit_vars_3_8
+      docker_images:
+        - context: docker/gerrit/bazel
+          repository: opendevorg/gerrit
+          target: gerrit
+          path: /home/zuul/src/gerrit.googlesource.com/gerrit
+          tags:
+            - 3.8
+    files: &gerrit_files_3_8
+      - docker/gerrit/base/
+      - docker/gerrit/bazel/
+      - playbooks/zuul/gerrit/
+      - playbooks/test-review.yaml
+      - testinfra/test_gerrit.py
+      - jeepyb/
+      - roles/bazelisk-build/
+
+- job:
+    name: system-config-upload-image-gerrit-3.8
+    description: Build and upload a gerrit image.
+    parent: system-config-upload-image
+    pre-run:
+      - playbooks/zuul/gerrit/repos.yaml
+      - playbooks/zuul/gerrit/submodules.yaml
+    run: playbooks/zuul/gerrit/run.yaml
+    requires: gerrit-base-container-image
+    provides: gerrit-3.8-container-image
+    required-projects: *gerrit_projects_3_8
+    vars: *gerrit_vars_3_8
+    files: *gerrit_files_3_8
+
+- job:
+    name: system-config-promote-image-gerrit-3.8
+    description: Promote a previously published gerrit image to latest.
+    parent: system-config-promote-image
+    vars: *gerrit_vars_3_8
+    files: *gerrit_files_3_8
+
 # Gerrit master jobs
 - job:
     name: system-config-build-image-gerrit-master-base
@@ -232,6 +325,11 @@
               - name: opendev-buildset-registry
               - name: system-config-build-image-gerrit-base
                 soft: true
+        - system-config-build-image-gerrit-3.8:
+            dependencies:
+              - name: opendev-buildset-registry
+              - name: system-config-build-image-gerrit-base
+                soft: true
         - system-config-build-image-gerrit-master:
             voting: false
             dependencies:
@@ -250,7 +348,13 @@
               - name: opendev-buildset-registry
               - name: system-config-upload-image-gerrit-base
                 soft: true
+        - system-config-upload-image-gerrit-3.8:
+            dependencies:
+              - name: opendev-buildset-registry
+              - name: system-config-upload-image-gerrit-base
+                soft: true
     deploy:
       jobs:
         - system-config-promote-image-gerrit-base
         - system-config-promote-image-gerrit-3.7
+        - system-config-promote-image-gerrit-3.8
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index ed5f51f109..4826c70b77 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -70,6 +70,11 @@
               - name: opendev-buildset-registry
               - name: system-config-build-image-gerrit-3.7
                 soft: true
+        - system-config-run-review-3.8:
+            dependencies:
+              - name: opendev-buildset-registry
+              - name: system-config-build-image-gerrit-3.8
+                soft: true
         # TODO update upgrade job to do 3.7 -> 3.8 upgrades
         #- system-config-upgrade-review:
         #    dependencies:
@@ -223,6 +228,11 @@
               - name: opendev-buildset-registry
               - name: system-config-upload-image-gerrit-3.7
                 soft: true
+        - system-config-run-review-3.8:
+            dependencies:
+              - name: opendev-buildset-registry
+              - name: system-config-upload-image-gerrit-3.8
+                soft: true
         - system-config-run-refstack:
             dependencies:
               - name: opendev-buildset-registry
diff --git a/zuul.d/system-config-run.yaml b/zuul.d/system-config-run.yaml
index 60a11b562e..dd416433ec 100644
--- a/zuul.d/system-config-run.yaml
+++ b/zuul.d/system-config-run.yaml
@@ -1128,6 +1128,15 @@
     vars:
       zuul_test_gerrit_version: '3.7'
 
+- job:
+    name: system-config-run-review-3.8
+    parent: system-config-run-review-base
+    description: |
+      Run the playbook for gerrit 3.8 (in a container).
+    requires: gerrit-3.8-container-image
+    vars:
+      zuul_test_gerrit_version: '3.8'
+
 # TODO Update the upgrade job to test 3.7 -> 3.8 upgrades
 #- job:
 #    name: system-config-upgrade-review