Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
193e2a0f
Commit
193e2a0f
authored
Sep 02, 2020
by
Suzanne Selhorn
Committed by
Russell Dickenson
Sep 02, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Docs: Updated runner capitalization
Related to:
https://gitlab.com/gitlab-org/gitlab/-/issues/233529
parent
3b06e803
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
144 additions
and
144 deletions
+144
-144
doc/ci/runners/README.md
doc/ci/runners/README.md
+143
-143
doc/development/cicd/index.md
doc/development/cicd/index.md
+1
-1
No files found.
doc/ci/runners/README.md
View file @
193e2a0f
...
...
@@ -5,62 +5,62 @@ info: To determine the technical writer assigned to the Stage/Group associated w
type
:
reference
---
# Configuring
GitLab Runners
# Configuring
runners in GitLab
<!-- This topic contains several commented-out sections that were accidentally added in 13.2.-->
<!-- The commented-out sections
are added back in 13.3
.-->
<!-- The commented-out sections
will be added back in a future release
.-->
In GitLab CI/CD,
R
unners run the code defined in
[
`.gitlab-ci.yml`
](
../yaml/README.md
)
.
A
GitLab R
unner is a lightweight, highly-scalable agent that picks up a CI job through
In GitLab CI/CD,
r
unners run the code defined in
[
`.gitlab-ci.yml`
](
../yaml/README.md
)
.
A
r
unner is a lightweight, highly-scalable agent that picks up a CI job through
the coordinator API of GitLab CI/CD, runs the job, and sends the result back to the GitLab instance.
Runners are created by an administrator and are visible in the GitLab UI.
Runners can be specific to certain projects or available to all projects.
## Types of
R
unners
## Types of
r
unners
There are three types of
R
unners:
There are three types of
r
unners:
-
[
Shared
](
#shared-runners
)
(
for
all projects)
-
[
Group
](
#group-runners
)
(
for
all projects in a group)
-
[
Specific
](
#specific-runners
)
(
for
specific projects)
If you are running self-managed GitLab, you can create your own
R
unners.
If you are running self-managed GitLab, you can create your own
r
unners.
If you are using GitLab.com, you can use the shared
R
unners provided by GitLab or
create your own group or specific
R
unners.
If you are using GitLab.com, you can use the shared
r
unners provided by GitLab or
create your own group or specific
r
unners.
### Shared
R
unners
### Shared
r
unners
*Shared
R
unners*
are available to every project in a GitLab instance.
*Shared
r
unners*
are available to every project in a GitLab instance.
Use shared
R
unners when you have multiple jobs with similar requirements. Rather than
having multiple
Runners idling for many projects, you can have a few R
unners that handle
Use shared
r
unners when you have multiple jobs with similar requirements. Rather than
having multiple
runners idling for many projects, you can have a few r
unners that handle
multiple projects.
If you are using a self-managed instance of GitLab:
-
Your administrator can install and register shared
R
unners by viewing the instructions
-
Your administrator can install and register shared
r
unners by viewing the instructions
[
here
](
https://docs.gitlab.com/runner/install/index.html
)
.
<!-- going to your project's
<!-- **Settings >
CI / CD
**, expanding the **
Runners
** section, and clicking **
Show
R
unner installation instructions
**
.-->
<!-- **Settings >
CI / CD
**, expanding the **
Runners
** section, and clicking **
Show
r
unner installation instructions
**
.-->
<!-- These instructions are also available [here](https://docs.gitlab.com/runner/install/index.html).-->
-
The administrator can also configure a maximum number of shared
R
unner
[
pipeline minutes for
-
The administrator can also configure a maximum number of shared
r
unner
[
pipeline minutes for
each group
](
../../user/admin_area/settings/continuous_integration.md#shared-runners-pipeline-minutes-quota-starter-only
)
.
If you are using GitLab.com:
-
You can select from a list of
[
shared
R
unners that GitLab maintains
](
../../user/gitlab_com/index.md#shared-runners
)
.
-
The shared
R
unners consume the
[
pipelines minutes
](
../../subscriptions/index.md#ci-pipeline-minutes
)
-
You can select from a list of
[
shared
r
unners that GitLab maintains
](
../../user/gitlab_com/index.md#shared-runners
)
.
-
The shared
r
unners consume the
[
pipelines minutes
](
../../subscriptions/index.md#ci-pipeline-minutes
)
included with your account.
#### How shared
R
unners pick jobs
#### How shared
r
unners pick jobs
Shared
R
unners process jobs by using a fair usage queue. This queue prevents
Shared
r
unners process jobs by using a fair usage queue. This queue prevents
projects from creating hundreds of jobs and using all available
shared
R
unner resources.
shared
r
unner resources.
The fair usage queue algorithm assigns jobs based on the projects that have the
fewest number of jobs already running on shared
R
unners.
fewest number of jobs already running on shared
r
unners.
**Example 1**
...
...
@@ -106,241 +106,241 @@ The fair usage algorithm assigns jobs in this order:
1.
Job 6 is next, because Project 3 is the only project left with no running jobs.
1.
Lastly we choose Job 3... because, again, it's the only job left.
#### Enable shared
R
unners
#### Enable shared
r
unners
On GitLab.com,
[
shared
R
unners
](
#shared-runners
)
are enabled in all projects by
On GitLab.com,
[
shared
r
unners
](
#shared-runners
)
are enabled in all projects by
default.
On self-managed instances of GitLab, an administrator must
[
install
](
https://docs.gitlab.com/runner/install/index.html
)
and
[
register
](
https://docs.gitlab.com/runner/register/index.html
)
them.
You can also enable shared
R
unners for individual projects.
You can also enable shared
r
unners for individual projects.
To enable shared
R
unners:
To enable shared
r
unners:
1.
Go to the project's
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
Click
**Allow shared
R
unners**
.
1.
Click
**Allow shared
r
unners**
.
#### Disable shared
R
unners
#### Disable shared
r
unners
You can disable shared
R
unners for individual projects
<!-- or for groups-->
.
You can disable shared
r
unners for individual projects
<!-- or for groups-->
.
You must have Owner permissions for the project
<!-- or group-->
.
To disable shared
R
unners for a project:
To disable shared
r
unners for a project:
1.
Go to the project's
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
In the
**Shared
Runners**
area, click
**Disable shared R
unners**
.
1.
In the
**Shared
runners**
area, click
**Disable shared r
unners**
.
<!--To disable shared
R
unners for a group:
<!--To disable shared
r
unners for a group:
1.
Go to the group's
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
In the
**Shared
Runners**
area, click
**Disable shared R
unners globally**
.
1.
Optionally, to allow shared
R
unners to be enabled for individual projects or subgroups,
1.
In the
**Shared
runners**
area, click
**Disable shared r
unners globally**
.
1.
Optionally, to allow shared
r
unners to be enabled for individual projects or subgroups,
click
**Allow projects/subgroups to override the global setting**
.
-->
### Group
R
unners
### Group
r
unners
Use
*Group
R
unners*
when you want all projects in a group
to have access to a set of
R
unners.
Use
*Group
r
unners*
when you want all projects in a group
to have access to a set of
r
unners.
Group
R
unners process jobs by using a first in, first out (
[
FIFO
](
https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics
)
)) queue.
Group
r
unners process jobs by using a first in, first out (
[
FIFO
](
https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics
)
)) queue.
#### Create a group
R
unner
#### Create a group
r
unner
You can create a group
R
unner for your self-managed GitLab instance or for GitLab.com.
You can create a group
r
unner for your self-managed GitLab instance or for GitLab.com.
You must have
[
Owner permissions
](
../../user/permissions.md#group-members-permissions
)
for the group.
To create a group
R
unner:
To create a group
r
unner:
1.
[
Install Runner
](
https://docs.gitlab.com/runner/install/
)
.
1.
Go to the group you want to make the
R
unner work for.
1.
[
Install
GitLab
Runner
](
https://docs.gitlab.com/runner/install/
)
.
1.
Go to the group you want to make the
r
unner work for.
1.
Go to
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
Note the URL and token.
1.
[
Register the
R
unner
](
https://docs.gitlab.com/runner/register/
)
.
1.
[
Register the
r
unner
](
https://docs.gitlab.com/runner/register/
)
.
#### View and manage group
R
unners
#### View and manage group
r
unners
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/37366/) in GitLab 13.2.
You can view and manage all
R
unners for a group, its subgroups, and projects.
You can view and manage all
r
unners for a group, its subgroups, and projects.
You can do this for your self-managed GitLab instance or for GitLab.com.
You must have
[
Owner permissions
](
../../user/permissions.md#group-members-permissions
)
for the group.
1.
Go to the group where you want to view the
R
unners.
1.
Go to the group where you want to view the
r
unners.
1.
Go to
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
The following fields are displayed.
| Attribute | Description |
| ------------ | ----------- |
| Type | One or more of the following states: shared, group, specific, locked, or paused |
| Runner token | Token used to identify the
Runner, and which the R
unner uses to communicate with the GitLab instance |
| Description | Description given to the
R
unner when it was created |
| Runner token | Token used to identify the
runner, and that the r
unner uses to communicate with the GitLab instance |
| Description | Description given to the
r
unner when it was created |
| Version | GitLab Runner version |
| IP address | IP address of the host on which the
R
unner is registered |
| Projects | The count of projects to which the
R
unner is assigned |
| Jobs | Total of jobs run by the
R
unner |
| Tags | Tags associated with the
R
unner |
| Last contact | Timestamp indicating when the GitLab instance last contacted the
R
unner |
| IP address | IP address of the host on which the
r
unner is registered |
| Projects | The count of projects to which the
r
unner is assigned |
| Jobs | Total of jobs run by the
r
unner |
| Tags | Tags associated with the
r
unner |
| Last contact | Timestamp indicating when the GitLab instance last contacted the
r
unner |
From this page, you can edit, pause, and remove
R
unners from the group, its subgroups, and projects.
From this page, you can edit, pause, and remove
r
unners from the group, its subgroups, and projects.
#### Pause or remove a group
R
unner
#### Pause or remove a group
r
unner
You can pause or remove a group
R
unner for your self-managed GitLab instance or for GitLab.com.
You can pause or remove a group
r
unner for your self-managed GitLab instance or for GitLab.com.
You must have
[
Owner permissions
](
../../user/permissions.md#group-members-permissions
)
for the group.
1.
Go to the group you want to remove or pause the
R
unner for.
1.
Go to the group you want to remove or pause the
r
unner for.
1.
Go to
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
Click
**Pause**
or
**Remove
R
unner**
.
-
If you pause a group
Runner that is used by multiple projects, the R
unner pauses for all projects.
-
From the group view, you cannot remove a
R
unner that is assigned to more than one project.
1.
Click
**Pause**
or
**Remove
r
unner**
.
-
If you pause a group
runner that is used by multiple projects, the r
unner pauses for all projects.
-
From the group view, you cannot remove a
r
unner that is assigned to more than one project.
You must remove it from each project first.
1.
On the confirmation dialog, click
**OK**
.
### Specific
R
unners
### Specific
r
unners
Use
*Specific
Runners*
when you want to use R
unners for specific projects. For example,
Use
*Specific
runners*
when you want to use r
unners for specific projects. For example,
when you have:
-
Jobs with specific requirements, like a deploy job that requires credentials.
-
Projects with a lot of CI activity that can benefit from being separate from other
R
unners.
-
Projects with a lot of CI activity that can benefit from being separate from other
r
unners.
You can set up a specific
Runner to be used by multiple projects. Specific R
unners
You can set up a specific
runner to be used by multiple projects. Specific r
unners
must be enabled for each project explicitly.
Specific
R
unners process jobs by using a first in, first out (
[
FIFO
](
https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics
)
)) queue.
Specific
r
unners process jobs by using a first in, first out (
[
FIFO
](
https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics
)
)) queue.
NOTE:
**Note:**
Specific
R
unners do not get shared with forked projects automatically.
Specific
r
unners do not get shared with forked projects automatically.
A fork
*does*
copy the CI / CD settings of the cloned repository.
#### Create a specific
R
unner
#### Create a specific
r
unner
You can create a specific
R
unner for your self-managed GitLab instance or for GitLab.com.
You can create a specific
r
unner for your self-managed GitLab instance or for GitLab.com.
You must have
[
Owner permissions
](
../../user/permissions.md#project-members-permissions
)
for the project.
To create a specific
R
unner:
To create a specific
r
unner:
1.
[
Install
R
unner
](
https://docs.gitlab.com/runner/install/
)
.
1.
[
Install
r
unner
](
https://docs.gitlab.com/runner/install/
)
.
1.
Go to the project's
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
Note the URL and token.
1.
[
Register the
R
unner
](
https://docs.gitlab.com/runner/register/
)
.
1.
[
Register the
r
unner
](
https://docs.gitlab.com/runner/register/
)
.
#### Enable a specific
R
unner for a specific project
#### Enable a specific
r
unner for a specific project
A specific
R
unner is available in the project it was created for. An administrator can
enable a specific
R
unner to apply to additional projects.
A specific
r
unner is available in the project it was created for. An administrator can
enable a specific
r
unner to apply to additional projects.
-
You must have Owner permissions for the project.
-
The specific
R
unner must not be
[
locked
](
#prevent-a-specific-runner-from-being-enabled-for-other-projects
)
.
-
The specific
r
unner must not be
[
locked
](
#prevent-a-specific-runner-from-being-enabled-for-other-projects
)
.
To enable or disable a specific
R
unner for a project:
To enable or disable a specific
r
unner for a project:
1.
Go to the project's
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
Click
**Enable for this project**
or
**Disable for this project**
.
#### Prevent a specific
R
unner from being enabled for other projects
#### Prevent a specific
r
unner from being enabled for other projects
You can configure a specific
R
unner so it is "locked" and cannot be enabled for other projects.
This setting can be enabled when you first
[
register a
R
unner
](
https://docs.gitlab.com/runner/register/
)
,
You can configure a specific
r
unner so it is "locked" and cannot be enabled for other projects.
This setting can be enabled when you first
[
register a
r
unner
](
https://docs.gitlab.com/runner/register/
)
,
but can also be changed later.
To lock or unlock a
R
unner:
To lock or unlock a
r
unner:
1.
Go to the project's
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
Find the
R
unner you want to lock or unlock. Make sure it's enabled.
1.
Find the
r
unner you want to lock or unlock. Make sure it's enabled.
1.
Click the pencil button.
1.
Check the
**Lock to current projects**
option.
1.
Click
**Save changes**
.
## Manually clear the
R
unner cache
## Manually clear the
r
unner cache
Read
[
clearing the cache
](
../caching/index.md#clearing-the-cache
)
.
## Set maximum job timeout for a
R
unner
## Set maximum job timeout for a
r
unner
For each
R
unner, you can specify a
*maximum job timeout*
. This timeout,
For each
r
unner, you can specify a
*maximum job timeout*
. This timeout,
if smaller than the
[
project defined timeout
](
../pipelines/settings.md#timeout
)
, takes precedence.
This feature can be used to prevent your shared
R
unner from being overwhelmed
This feature can be used to prevent your shared
r
unner from being overwhelmed
by a project that has jobs with a long timeout (for example, one week).
When not configured,
R
unners do not override the project timeout.
When not configured,
r
unners do not override the project timeout.
How this feature works:
**Example 1 - Runner timeout bigger than project timeout**
1.
You set the _maximum job timeout_ for a
R
unner to 24 hours
1.
You set the _maximum job timeout_ for a
r
unner to 24 hours
1.
You set the _CI/CD Timeout_ for a project to
**2 hours**
1.
You start a job
1.
The job, if running longer, will be timed out after
**2 hours**
**Example 2 - Runner timeout not configured**
1.
You remove the _maximum job timeout_ configuration from a
R
unner
1.
You remove the _maximum job timeout_ configuration from a
r
unner
1.
You set the _CI/CD Timeout_ for a project to
**2 hours**
1.
You start a job
1.
The job, if running longer, will be timed out after
**2 hours**
**Example 3 - Runner timeout smaller than project timeout**
1.
You set the _maximum job timeout_ for a
R
unner to
**30 minutes**
1.
You set the _maximum job timeout_ for a
r
unner to
**30 minutes**
1.
You set the _CI/CD Timeout_ for a project to 2 hours
1.
You start a job
1.
The job, if running longer, will be timed out after
**30 minutes**
## Be careful with sensitive information
With some
[
Runner E
xecutors
](
https://docs.gitlab.com/runner/executors/README.html
)
,
if you can run a job on the
R
unner, you can get full access to the file system,
and thus any code it runs as well as the token of the
Runner. With shared R
unners, this means that anyone
that runs jobs on the
R
unner, can access anyone else's code that runs on the
R
unner.
With some
[
runner e
xecutors
](
https://docs.gitlab.com/runner/executors/README.html
)
,
if you can run a job on the
r
unner, you can get full access to the file system,
and thus any code it runs as well as the token of the
runner. With shared r
unners, this means that anyone
that runs jobs on the
r
unner, can access anyone else's code that runs on the
r
unner.
In addition, because you can get access to the
R
unner token, it is possible
to create a clone of a
R
unner and submit false jobs, for example.
In addition, because you can get access to the
r
unner token, it is possible
to create a clone of a
r
unner and submit false jobs, for example.
The above is easily avoided by restricting the usage of shared
R
unners
The above is easily avoided by restricting the usage of shared
r
unners
on large public GitLab instances, controlling access to your GitLab instance,
and using more secure
[
Runner E
xecutors
](
https://docs.gitlab.com/runner/executors/README.html
)
.
and using more secure
[
runner e
xecutors
](
https://docs.gitlab.com/runner/executors/README.html
)
.
### Prevent
R
unners from revealing sensitive information
### Prevent
r
unners from revealing sensitive information
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13194) in GitLab 10.0.
You can protect
R
unners so they don't reveal sensitive information.
When a
Runner is protected, the R
unner picks jobs created on
You can protect
r
unners so they don't reveal sensitive information.
When a
runner is protected, the r
unner picks jobs created on
[
protected branches
](
../../user/project/protected_branches.md
)
or
[
protected tags
](
../../user/project/protected_tags.md
)
only,
and ignores other jobs.
To protect or unprotect a
R
unner:
To protect or unprotect a
r
unner:
1.
Go to the project's
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
Find the
R
unner you want to protect or unprotect. Make sure it's enabled.
1.
Find the
r
unner you want to protect or unprotect. Make sure it's enabled.
1.
Click the pencil button.
1.
Check the
**Protected**
option.
1.
Click
**Save changes**
.
![
specific
R
unners edit icon
](
img/protected_runners_check_box.png
)
![
specific
r
unners edit icon
](
img/protected_runners_check_box.png
)
### Forks
Whenever a project is forked, it copies the settings of the jobs that relate
to it. This means that if you have shared
R
unners set up for a project and
someone forks that project, the shared
R
unners serve jobs of this project.
to it. This means that if you have shared
r
unners set up for a project and
someone forks that project, the shared
r
unners serve jobs of this project.
### Attack vectors in
R
unners
### Attack vectors in
r
unners
Mentioned briefly earlier, but the following things of
R
unners can be exploited.
Mentioned briefly earlier, but the following things of
r
unners can be exploited.
We're always looking for contributions that can mitigate these
[
Security Considerations
](
https://docs.gitlab.com/runner/security/
)
.
### Reset the
R
unner registration token for a project
### Reset the
r
unner registration token for a project
If you think that a registration token for a project was revealed, you should
reset it. A token can be used to register another
Runner for the project. That new R
unner
reset it. A token can be used to register another
runner for the project. That new r
unner
may then be used to obtain the values of secret variables or to clone project code.
To reset the token:
...
...
@@ -353,106 +353,106 @@ To reset the token:
and check the registration token - it should be changed.
From now on the old token is no longer valid and does not register
any new
R
unners to the project. If you are using any tools to provision and
register new
R
unners, the tokens used in those tools should be updated to reflect the
any new
r
unners to the project. If you are using any tools to provision and
register new
r
unners, the tokens used in those tools should be updated to reflect the
value of the new token.
## Determine the IP address of a
R
unner
## Determine the IP address of a
r
unner
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17286) in GitLab 10.6.
It may be useful to know the IP address of a
R
unner so you can troubleshoot
issues with that
R
unner. GitLab stores and displays the IP address by viewing
It may be useful to know the IP address of a
r
unner so you can troubleshoot
issues with that
r
unner. GitLab stores and displays the IP address by viewing
the source of the HTTP requests it makes to GitLab when polling for jobs. The
IP address is always kept up to date so if the
R
unner IP changes it will be
IP address is always kept up to date so if the
r
unner IP changes it will be
automatically updated in GitLab.
The IP address for shared
Runners and specific R
unners can be found in
The IP address for shared
runners and specific r
unners can be found in
different places.
### Determine the IP address of a shared
R
unner
### Determine the IP address of a shared
r
unner
To view the IP address of a shared
R
unner you must have admin access to
To view the IP address of a shared
r
unner you must have admin access to
the GitLab instance. To determine this:
1.
Visit
**Admin Area > Overview > Runners**
.
1.
Look for the
R
unner in the table and you should see a column for
**IP Address**
.
1.
Look for the
r
unner in the table and you should see a column for
**IP Address**
.
![
shared
R
unner IP address
](
img/shared_runner_ip_address.png
)
![
shared
r
unner IP address
](
img/shared_runner_ip_address.png
)
### Determine the IP address of a specific
R
unner
### Determine the IP address of a specific
r
unner
To can find the IP address of a
R
unner for a specific project,
To can find the IP address of a
r
unner for a specific project,
you must have Owner
[
permissions
](
../../user/permissions.md#project-members-permissions
)
for the project.
1.
Go to the project's
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
On the details page you should see a row for
**IP Address**
.
![
specific
R
unner IP address
](
img/specific_runner_ip_address.png
)
![
specific
r
unner IP address
](
img/specific_runner_ip_address.png
)
## Use tags to limit the number of jobs using the
R
unner
## Use tags to limit the number of jobs using the
r
unner
You must set up a
R
unner to be able to run all the different types of jobs
You must set up a
r
unner to be able to run all the different types of jobs
that it may encounter on the projects it's shared over. This would be
problematic for large amounts of projects, if it weren't for tags.
By tagging a
R
unner for the types of jobs it can handle, you can make sure
shared
R
unners will
[
only run the jobs they are equipped to run
](
../yaml/README.md#tags
)
.
By tagging a
r
unner for the types of jobs it can handle, you can make sure
shared
r
unners will
[
only run the jobs they are equipped to run
](
../yaml/README.md#tags
)
.
For instance, at GitLab we have
R
unners tagged with
`rails`
if they contain
For instance, at GitLab we have
r
unners tagged with
`rails`
if they contain
the appropriate dependencies to run Rails test suites.
When you
[
register a
R
unner
](
https://docs.gitlab.com/runner/register/
)
, its default behavior is to
**only pick**
When you
[
register a
r
unner
](
https://docs.gitlab.com/runner/register/
)
, its default behavior is to
**only pick**
[
tagged jobs
](
../yaml/README.md#tags
)
.
To change this, you must have Owner
[
permissions
](
../../user/permissions.md#project-members-permissions
)
for the project.
To make a
R
unner pick untagged jobs:
To make a
r
unner pick untagged jobs:
1.
Go to the project's
**Settings > CI/CD**
and expand the
**Runners**
section.
1.
Find the
R
unner you want to pick untagged jobs and make sure it's enabled.
1.
Find the
r
unner you want to pick untagged jobs and make sure it's enabled.
1.
Click the pencil button.
1.
Check the
**Run untagged jobs**
option.
1.
Click the
**Save changes**
button for the changes to take effect.
NOTE:
**Note:**
The
R
unner tags list can not be empty when it's not allowed to pick untagged jobs.
The
r
unner tags list can not be empty when it's not allowed to pick untagged jobs.
Below are some example scenarios of different variations.
###
R
unner runs only tagged jobs
###
r
unner runs only tagged jobs
The following examples illustrate the potential impact of the
R
unner being set
The following examples illustrate the potential impact of the
r
unner being set
to run only tagged jobs.
Example 1:
1.
The
R
unner is configured to run only tagged jobs and has the
`docker`
tag.
1.
The
r
unner is configured to run only tagged jobs and has the
`docker`
tag.
1.
A job that has a
`hello`
tag is executed and stuck.
Example 2:
1.
The
R
unner is configured to run only tagged jobs and has the
`docker`
tag.
1.
The
r
unner is configured to run only tagged jobs and has the
`docker`
tag.
1.
A job that has a
`docker`
tag is executed and run.
Example 3:
1.
The
R
unner is configured to run only tagged jobs and has the
`docker`
tag.
1.
The
r
unner is configured to run only tagged jobs and has the
`docker`
tag.
1.
A job that has no tags defined is executed and stuck.
###
R
unner is allowed to run untagged jobs
###
r
unner is allowed to run untagged jobs
The following examples illustrate the potential impact of the
R
unner being set
The following examples illustrate the potential impact of the
r
unner being set
to run tagged and untagged jobs.
Example 1:
1.
The
R
unner is configured to run untagged jobs and has the
`docker`
tag.
1.
The
r
unner is configured to run untagged jobs and has the
`docker`
tag.
1.
A job that has no tags defined is executed and run.
1.
A second job that has a
`docker`
tag defined is executed and run.
Example 2:
1.
The
R
unner is configured to run untagged jobs and has no tags defined.
1.
The
r
unner is configured to run untagged jobs and has no tags defined.
1.
A job that has no tags defined is executed and run.
1.
A second job that has a
`docker`
tag defined is stuck.
...
...
doc/development/cicd/index.md
View file @
193e2a0f
...
...
@@ -58,7 +58,7 @@ successfully or fail. Each status transition for job within a pipeline triggers
looks for the next jobs to be transitioned towards completion. While doing that,
`ProcessPipelineService`
updates the status of jobs, stages and the overall pipeline.
On the right side of the diagram we have a list of
[
Runners
](
../../ci/runners/README.md
#configuring-gitlab-runners
)
On the right side of the diagram we have a list of
[
Runners
](
../../ci/runners/README.md
)
connected to the GitLab instance. These can be Shared Runners, Group Runners or Project-specific Runners.
The communication between Runners and the Rails server occurs through a set of API endpoints, grouped as
the
`Runner API Gateway`
.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment