One-way mirroring from Git servers
Git Connector can duplicate ("mirror") commits from a Git repo managed by one of the following Git servers:
- GitHub
- GitLab (Community Edition or Enterprise Edition)
- Gerrit Code Review
- Perforce TeamHub
If you are mirroring files stored with Git LFS, see the Git LFS topic.
A typical use case for mirroring one or more external Git repos into P4 is to enable a single instance of a CI tool, such as Jenkins, to build a complex job that syncs contents from both Git repos and classic P4.
The mirroring is one-way: from the Git server into P4.
Also, graph-push-commit triggers are supported with mirroring. See Triggers.
You, the system administrator for P4 and the Git server, configure a webhook in the Git server and the Git Connector server, which enables this flow:
- A Git user pushes a branch to the Git server.
- The external repo in the Git server receives a commit of a Git repo or tag, which fires the webhook.
- The Git Connector receives the webhook message and fetches the commit from the Git server repo that is the source for mirroring.
- The P4 Server receives the update from the Git Connector.
- Optionally, a CI tool, such as Jenkins, polls on a P4 workspace to detect changes across multiple repos and performs a build.
In this section: