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 https://gitlab.com/gitlab-org/gitlab-ee/issues/3821 and enables pipelines to be run, but the setup process is manual and the results aren't pushed back to the external repository.
Proposal
-
Create CI/CD only project: https://gitlab.com/gitlab-org/gitlab-ee/issues/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: https://gitlab.com/gitlab-org/gitlab-ee/issues/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: https://gitlab.com/gitlab-org/gitlab-ee/issues/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 https://gitlab.com/gitlab-org/gitlab-ee/issues/4721 Deliverable @jamedjo Out of scope: Adding a one button GitHub service integration
-
Add option to overwrite diverged branches when pull mirroring https://gitlab.com/gitlab-org/gitlab-ee/issues/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.
Links
Make GitLab CI/CD work with an external repository (GitHub, Bitbucket): https://gitlab.com/gitlab-org/gitlab-ee/issues/3835
Edited by James Ramsay (ex-GitLab)