CI/CD: basic support for external repositories and GitHub
Making GitLab CI/CD work with external repositories is important. We provide basic support if a user configures repository mirroring #3821 (closed) and enables pipelines to be run, but the setup process is manual and the results aren't pushed back to the external repository.
Create CI/CD only project: #3839 Deliverable @rdavila
- import project via Git URL
- import project via integration with GitHub.com
- disables all non-CI/CD features in the GitLab project
Out of scope: GitHub Enterprise, Bitbucket Cloud import, Bitbucket Server import
Automatically create push event web hook when importing a CI/CD only project from GitHub: #4691 Deliverable @rdavila
- extend new CI/CD only project creation flow to create the web hooks
Out of scope: add ability to create the hooks from mirroring interface
Manual GitHub (.com and Enterprise) service integration: #3836 Deliverable @jamedjo
- After the CI/CD pipeline is completes the status should be pushed to the upstream repository to the vendors commit status API.
Enable GitHub service integration during import #4721 Deliverable @jamedjo
Out of scope: Adding a one button GitHub service integration
Add option to overwrite diverged branches when pull mirroring #4723 Deliverable @tiagonbotelho
- A rebase or force push on a feature branch will prevent further CI/CD tests being run on that branch because it will diverge from the branch mirrored to GitLab. We should add an option to GitLab to always overwrite the version in GitLab if the upstream branch diverges.
Make GitLab CI/CD work with an external repository (GitHub, Bitbucket): #3835