Spec-Zone.ru › Ansible

Модуль 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

Определяет, может ли исполнитель получать задания только из защищённых веток.

Если access_level_on_creation явно не установлено в true, этот параметр игнорируется при регистрации и применяется только при обновлении.

Если установлено значение not_protected, исполнитель может получать задания как из защищённых, так и из незащищённых веток.

Если установлено значение ref_protected, исполнитель может получать задания только из защищённых веток.

До community.general 8.0.0 значением по умолчанию было ref_protected. В community.general 8.0.0 значение по умолчанию было удалено. Если этот параметр явно не указан, при создании GitLab использует not_protected, а заданное значение не изменяется при последующих обновлениях.

Варианты:

  • "not_protected"
  • "ref_protected"

access_level_on_creation

boolean

добавлено в community.general 6.3.0

Следует ли регистрировать исполнителя с уровнем доступа.

Если установлено значение true, для регистрации исполнителя используется значение access_level.

Если установлено значение false, GitLab регистрирует исполнителя с уровнем доступа по умолчанию.

В community.general 7.0.0 значение этого параметра по умолчанию изменилось на true. Ранее использовалось значение false.

Варианты:

  • false
  • true ← (по умолчанию)

active

boolean

Определяет, будет ли исполнитель активирован сразу после создания.

Взаимоисключающий параметр с paused.

Варианты:

  • false
  • true ← (по умолчанию)

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.

Взаимоисключающий параметр с owned и project.

Если registration_token не установлен и state=present, необходимо указать числовой идентификатор группы.

locked

boolean

Определяет, заблокирован ли исполнитель.

Варианты:

  • false ← (по умолчанию)
  • true

maximum_timeout

integer

Максимальное время, отведённое исполнителю на выполнение определённого задания.

Используйте 0, чтобы отключить тайм-аут. Эта возможность доступна начиная с community.general 12.1.0.

По умолчанию: 3600

owned

boolean

добавлено в community.general 2.0.0

При поиске существующих исполнителей ищет только исполнителей, доступных пользователю; если значение равно false, требуется токен администратора.

Начиная с community.general 4.5.0 является взаимоисключающим параметром с project.

Взаимоисключающий параметр с group.

Варианты:

  • false ← (по умолчанию)
  • true

paused

boolean

добавлено в community.general 8.1.0

Определяет, будет ли исполнитель активен или приостановлен после создания.

Взаимоисключающий параметр с active.

Варианты:

  • false ← (по умолчанию)
  • true

project

string

добавлено в community.general 3.7.0

Идентификатор или полный путь проекта в формате group/name.

Начиная с community.general 4.5.0 является взаимоисключающим параметром с owned.

Взаимоисключающий параметр с group.

Если registration_token не установлен и state=present, необходимо указать числовой идентификатор проекта.

registration_token

string

Токен регистрации используется для регистрации новых исполнителей в версиях GitLab до 16.0.

Обязателен, если state=present для GitLab < 16.0.

Если задан, исполнитель создаётся с помощью старого процесса создания исполнителей.

Если не задан, исполнитель создаётся с помощью нового процесса создания исполнителей, появившегося в GitLab 16.0.

Если не задан, требуется python-gitlab >= 4.0.0.

run_untagged

boolean

Запускать ли задания без тегов.

Варианты:

  • false
  • true ← (по умолчанию)

state

string

Обеспечивает наличие исполнителя с таким же именем и конфигурацией либо удаляет исполнителя с таким же именем.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

tag_list

list / elements=string

Теги, назначенные исполнителю.

По умолчанию: []

validate_certs

boolean

Проверять ли сертификаты SSL при указании конечной точки HTTPS.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: full

Может выполняться в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

diff_mode

Поддержка: none

В режиме diff возвращает сведения об изменениях (или о возможных изменениях в check_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.

Возвращается: при ошибке

Пример: "400: path is already in use"

msg

string

Сообщение об успехе или ошибке.

Возвращается: всегда

Пример: "Success"

result

dictionary

Ответ сервера, разобранный как JSON.

Возвращается: всегда

runner

dictionary

Объект API.

Возвращается: всегда

Авторы

  • Samy Coenen (@SamyCoenen)
  • Guillaume Martinez (@Lunik)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API