Skip to content

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

no_group_runners_with_enabled

When group runners are disabled

no_group_runners_with_disabled

One group runner added but not running

one_group_runner_that_is_not_running

One group runner that is running

one_group_runners_with_enabled_pm

When you have master on project but only developer on group

master_project_developer_group

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Relates to https://gitlab.com/gitlab-org/gitlab-ce/issues/10244

Edited by Kamil Trzciński

Merge request reports