Content last updated 2026-01-13

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:

  1. Login as the gl-support-bot user (as it is used as a service account for mirrors)
  2. Navigate to the source project
  3. 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
  4. Copy SSH public key from new mirror
  5. Navigate to the target project
  6. 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
  7. Navigate to the source project
  8. 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)