omnibus-mirror
In order to minimize the dependency on external resources during our build and release process, we maintain a mirror of various software dependencies within GitLab resources.
The system consists of two groups, one on GitLab.com, and the other on dev.gitlab.org
- Pull mirrors of the upstream source, and push mirrors to the corresponding dev.gitlab.orgproject.
- Publically available. Should be available to the trigger-packagepipeline, as well as community developers for building customomnibus-gitlabpackages
 
- Pull mirrors of the upstream source, and push mirrors to the corresponding 
- dev.gitlab.orgprojects:- https://dev.gitlab.org/omnibus-mirror- Pipelines on dev.gitlab.orguse these projects to buildomnibus-gitlabprojects. This includes the package releases, as well as builds used by GitLab Team members to build customomnibus-gitlabpackages for all supported platforms.
 
- Pipelines on 
Adding a project
- Log into GitLab.com as the gitlab-omnibus-mirror-bot. Login details are in the Build vault in 1Password
- Click on New Project to create a project- Project name: usually should match the upstream name
- Project URL: Select gitlab-org/build/omnibus-mirrorfrom the Groups sub-group in the drop-down
- Visibility Level: Set this to Public
- Disable any options that would create files, such as initializing with a README.md
- Leave the remaining options as their default, and click on Create project
 
- Set up the pull mirror- Click Settings -> Repository in the left hand menu
- Click Expand next to the Mirroring repositories option
- Set Git repository URL to the upstream URL we’ll be mirroring
- Change Mirror direction to Pull
- Select the Overwrite diverged branches option
- Click Mirror repository to add the pull mirror. Depending on the size of the repository, this can take a few minutes to run
- Leave this page open as you will need it later
 
- Log into dev.gitlab.orgas thebuild_mirror_bot. Login details are in the Build vault in 1Password
- Click on New Project to create a project- Project name: usually should match the upstream name
- Project URL: Select omnibus-mirrorfrom the Groups sub-group in the drop-down
- Visibility Level: Set this to Private
- Leave the remaining options as their default and click on Create project
 
- Enable the omnibus-builderdeploy key- Navigate to Settings -> Repository
- Click on Expand next to the Deploy Keys section
- Click the Privately accessible deploy keys tab
- Find the omnibus-builder deploy keyand click on the Enable button next to it
 
- Setup the push mirror- Return to the Mirroring repositories page for the GitLab.com project
- In Git repository URL enter the path to the dev.gitlab.orgwithbuild_mirror_bot@inserted betweenhttps://anddev.gitlab.org
- In Password enter the PATfrom the Build Team Mirror Bot entry in the Build vault in 1 Password
- Disable any options that would create files, such as initializing with a README.md
- Leave the remaining options as their default, and click on Mirror repository
- Click the Update Now button to trigger initial mirroring