Project mirroring
Documentation on project mirroring
This guide covers GitLab repository mirroring setup for Customer Support Operations projects. Mirroring automatically synchronizes changes from source repositories to target repositories, enabling automated backups and multi-repo workflows.
Understanding mirroring
What is mirroring
This guide covers GitLab repository mirroring setup for Customer Support Operations projects. Mirroring automatically synchronizes changes from source repositories to target repositories, enabling automated backups and multi-repo workflows.
Setup
For the Customer Support Operations team, we setup mirroring using these steps:
- Login as the
gl-support-botuser (as it is used as a service account for mirrors) - Navigate to the source project
- Add a new mirror
- Git repository URL:
ssh://gitlab.com/full/path/to/project.git - Mirror direction:
Push - Authentication method:
SSH public key - Username:
git - Keep divergent refs: unchecked
- Mirror branches:
Mirror only protected branches
- Git repository URL:
- Copy SSH public key from new mirror
- Navigate to the target project
- Add a new deploy key (under
Settings > Repository > Deploy Keys)- Title:
full/path/to/project - Key: The value copied in step 4
- Grant write permissions to this key: checked
- Expiration date (optional): leave it blank
- Title:
- Navigate to the source project
- Force an update on the mirror (under
Settings > Repository > Mirroring repositories)
Common issues and troubleshooting
This is a living section that will have items added to it as needed.
Last modified January 21, 2026: Revamp CustSuppOps handbook (
7d49549f)
