Shared CI runners for groups
EE MR: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/5497
What does this MR do?
This MR enables creating and using CI runners that are shared within a group.
-
New ci runner type -
API support -
Minimal UI update to see and manage group runners
The extensive UI update (see https://gitlab.com/gitlab-org/gitlab-ce/issues/10244#note_24934429) is excluded from this MR.
Are there points in the code the reviewer needs to double check?
Why was this MR needed?
Description from https://gitlab.com/gitlab-org/gitlab-ce/issues/10244:
Currently, it's only possible to add CI runners that are project specific or shared globally. However, there also should be an option of adding CI runners that are shared for a group.
In other words, if I'm launching my custom runner that I want to be available for all projects in the group, I need a place to do this centrally, instead of enabling this runner manually for every project.
The development of this MR is sponsored by @siemens (/cc @bufferoverflow).
Screenshots (if relevant)
Empty state when there are no group runners
When group runners are disabled
One group runner added but not running
One group runner that is running
When you have master on project but only developer on group
Does this MR meet the acceptance criteria?
-
Changelog entry added -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Reviewed by CI/CD backend -
Reviewed by UX -
Reviewed by DB team -
Squashed related commits together
What are the relevant issue numbers?
Relates to https://gitlab.com/gitlab-org/gitlab-ce/issues/10244