community.general.gitlab_runner модуль — Создание, изменение и удаление GitLab Runners
Примечание
Этот модуль входит в коллекцию community.general (версия 9.5.0).
Эта коллекция может быть уже установлена, если вы используете пакет 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 | Должен ли ранер регистрироваться с уровнем доступа или нет. Если установлено в Если установлено в Значение по умолчанию для этого параметра изменилось на Варианты:
|
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 | ID или полный путь группы в формате group/subgroup. Взаимоисключающий с Должен быть числовым ID группы, если |
locked boolean | Определяет, заблокирован ли ранер или нет. Варианты:
|
maximum_timeout integer | Максимальное время, которое ранер имеет для выполнения определенного задания. По умолчанию: |
owned boolean добавлено в community.general 2.0.0 | |
paused boolean добавлено в community.general 8.1.0 | Определяет, активен или приостановлен ранер после создания. Взаимоисключающий с Варианты:
|
project string добавлено в community.general 3.7.0 | ID или полный путь проекта в формате group/name. Взаимоисключающий с Взаимоисключающий с Должен быть числовым ID проекта, если |
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 | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: нет | Возвратит подробности о том, что изменилось (или, возможно, должно быть изменено в |
Примечания
Примечание
- Для создания нового исполнителя, как минимум, требуются параметры
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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/gitlab_runner_module.html