Create CI/CD-only projects
When creating a new project, we have different options and all of them include having a local repository on GitLab. If we want to use GitLab only for CI/CD, and keeping the code somewhere else (e.g., GitHub), we need an additional way that automatically sets up everything that is needed.
Add a new panel in the New project page, specifically to create CI-only projects from repos on GitHub.
It must have options similar to the New project > Import project > GitHub, with ability to use OAuth2 authentication to automatically fetch parameters from the linked GitHub account.
Instead of just importing the project, the action here is:
- Set up mirroring from remote GitHub repo
- Set up GitHub service integration to push pipelines status to GitHub: #3836
- Disable wiki, issues, MRs, etc. from project
- Match visibility of GitHub repo. e.g. if GitHub repo is private, make project private. If GitHub repo is public, make project public.
- The above configuration can be edited after creation, but we'll start with smart defaults.
Note that we should eventually support connecting to Atlassian Bitbucket (cloud) repos as well, but the priority is connecting GitHub.
Links / references
What is it? Why should someone use this feature? What is the underlying (business) problem? How do you use this feature?
Who is this for? Provide one or more use cases.
Make sure these are completed before closing the issue, with a link to the relevant commit.