Модуль community.general.gitlab_runner — создание, изменение и удаление исполнителей GitLab
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля требуются дополнительные зависимости; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.gitlab_runner.
Краткое описание
- Регистрация, обновление и удаление исполнителей на стороне сервера GitLab с помощью API GitLab.
- Все операции выполняются с использованием API GitLab v4.
- Подробную информацию см. в полной документации API: https://docs.gitlab.com/ee/api/runners.html и https://docs.gitlab.com/ee/api/users.html#create-a-runner-linked-to-a-user.
- Для всех операций требуется действительный приватный токен API. С помощью веб-интерфейса GitLab можно создать любое количество токенов: https://$GITLAB_URL/profile/personal_access_tokens.
- Для регистрации нового исполнителя требуется действительный токен регистрации. Чтобы создавать общих исполнителей, попросите администратора предоставить вам этот токен. Его можно найти по адресу https://$GITLAB_URL/admin/runners/.
- Этот модуль не выполняет часть процесса
gitlab-runner, а только управляет исполнителем на стороне сервера GitLab через его API. После создания исполнителя модулем можно использовать сгенерированный токен для выполнения командыgitlab-runner register.
Требования
Следующие зависимости необходимы на хосте, который выполняет этот модуль.
- python-gitlab >= 1.5.0 для устаревшего процесса регистрации исполнителей (токен регистрации исполнителя — https://docs.gitlab.com/runner/register/#register-with-a-runner-registration-token-deprecated)
- python-gitlab >= 4.0.0 для нового процесса регистрации исполнителей (токен аутентификации исполнителя — https://docs.gitlab.com/runner/register/#register-with-a-runner-authentication-token)
- requests (библиотека Python https://pypi.org/project/requests/)
Параметры
Параметр | Комментарии |
|---|---|
access_level string | Определяет, может ли исполнитель получать задания только из защищённых веток. Если Если установлено значение Если установлено значение До community.general 8.0.0 значением по умолчанию было Варианты:
|
access_level_on_creation boolean добавлено в community.general 6.3.0 | Следует ли регистрировать исполнителя с уровнем доступа. Если установлено значение Если установлено значение В community.general 7.0.0 значение этого параметра по умолчанию изменилось на Варианты:
|
active boolean | Определяет, будет ли исполнитель активирован сразу после создания. Взаимоисключающий параметр с Варианты:
|
api_job_token string добавлено в community.general 4.2.0 | Токен задания GitLab CI для входа в систему. |
api_oauth_token string добавлено в community.general 4.2.0 | Токен OAuth GitLab для входа в систему. |
api_password string | Пароль для аутентификации в API. |
api_token string | Токен доступа GitLab с разрешениями для API. |
api_url string | Доступная конечная точка API. |
api_username string | Имя пользователя для аутентификации в API. |
ca_path string добавлено в community.general 8.1.0 | Пакет сертификатов CA для проверки сертификата сервера GitLab. |
description псевдонимы: name string / обязательный | Уникальное имя исполнителя. |
group string добавлено в community.general 6.5.0 | Идентификатор или полный путь группы в формате group/subgroup. Взаимоисключающий параметр с Если |
locked boolean | Определяет, заблокирован ли исполнитель. Варианты:
|
maximum_timeout integer | Максимальное время, отведённое исполнителю на выполнение определённого задания. Используйте По умолчанию: |
owned boolean добавлено в community.general 2.0.0 | При поиске существующих исполнителей ищет только исполнителей, доступных пользователю; если значение равно false, требуется токен администратора. Начиная с community.general 4.5.0 является взаимоисключающим параметром с Взаимоисключающий параметр с Варианты:
|
paused boolean добавлено в community.general 8.1.0 | Определяет, будет ли исполнитель активен или приостановлен после создания. Взаимоисключающий параметр с Варианты:
|
project string добавлено в community.general 3.7.0 | Идентификатор или полный путь проекта в формате group/name. Начиная с community.general 4.5.0 является взаимоисключающим параметром с Взаимоисключающий параметр с Если |
registration_token string | Токен регистрации используется для регистрации новых исполнителей в версиях GitLab до 16.0. Обязателен, если Если задан, исполнитель создаётся с помощью старого процесса создания исполнителей. Если не задан, исполнитель создаётся с помощью нового процесса создания исполнителей, появившегося в GitLab 16.0. Если не задан, требуется python-gitlab >= 4.0.0. |
run_untagged boolean | Запускать ли задания без тегов. Варианты:
|
state string | Обеспечивает наличие исполнителя с таким же именем и конфигурацией либо удаляет исполнителя с таким же именем. Варианты:
|
tag_list list / elements=string | Теги, назначенные исполнителю. По умолчанию: |
validate_certs boolean | Проверять ли сертификаты SSL при указании конечной точки HTTPS. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: full | Может выполняться в режиме |
diff_mode | Поддержка: none | В режиме diff возвращает сведения об изменениях (или о возможных изменениях в |
Примечания
Примечание
- Для создания нового исполнителя требуются как минимум параметры
api_token,descriptionиapi_url. - Описания исполнителей должны быть уникальными, поскольку этот атрибут используется в качестве ключа для обеспечения идемпотентности.
Примеры
- name: Create an instance-level runner
community.general.gitlab_runner:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
description: Docker Machine t1
state: present
active: true
tag_list: ['docker']
run_untagged: false
locked: false
register: runner # Register module output to run C(gitlab-runner register) command in another task
- name: Create a group-level runner
community.general.gitlab_runner:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
description: Docker Machine t1
state: present
active: true
tag_list: ['docker']
run_untagged: false
locked: false
group: top-level-group/subgroup
register: runner # Register module output to run C(gitlab-runner register) command in another task
- name: Create a project-level runner
community.general.gitlab_runner:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
description: Docker Machine t1
state: present
active: true
tag_list: ['docker']
run_untagged: false
locked: false
project: top-level-group/subgroup/project
register: runner # Register module output to run C(gitlab-runner register) command in another task
- name: "Register instance-level runner with registration token (deprecated)"
community.general.gitlab_runner:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
registration_token: 4gfdsg345
description: Docker Machine t1
state: present
active: true
tag_list: ['docker']
run_untagged: false
locked: false
register: runner # Register module output to run C(gitlab-runner register) command in another task
- name: "Delete runner"
community.general.gitlab_runner:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
description: Docker Machine t1
state: absent
- name: Delete an owned runner as a non-admin
community.general.gitlab_runner:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
description: Docker Machine t1
owned: true
state: absent
- name: "Register a project-level runner with registration token (deprecated)"
community.general.gitlab_runner:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
registration_token: 4gfdsg345
description: MyProject runner
state: present
project: mygroup/mysubgroup/myproject
register: runner # Register module output to run C(gitlab-runner register) command in another task
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
error string | Сообщение об ошибке, возвращённое API GitLab. Возвращается: при ошибке Пример: |
msg string | Сообщение об успехе или ошибке. Возвращается: всегда Пример: |
result dictionary | Ответ сервера, разобранный как JSON. Возвращается: всегда |
runner dictionary | Объект API. Возвращается: всегда |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/gitlab_runner_module.html