Spec-Zone.ru › Ansible

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

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

Если 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 регистрирует ранер с уровнем доступа по умолчанию.

Значение по умолчанию для этого параметра изменилось на true в community.general 7.0.0. Ранее оно было 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

ID или полный путь группы в формате group/subgroup.

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

Должен быть числовым ID группы, если registration_token не установлен и state=present.

locked

boolean

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

Варианты:

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

maximum_timeout

integer

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

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

owned

boolean

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

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

Взаимоисключающий с project начиная с community.general 4.5.0.

Взаимоисключающий с group.

Варианты:

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

paused

boolean

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

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

Взаимоисключающий с active.

Варианты:

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

project

string

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

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

Взаимоисключающий с owned начиная с community.general 4.5.0.

Взаимоисключающий с group.

Должен быть числовым ID проекта, если 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

Поддержка: полная

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

diff_mode

Поддержка: нет

Возвратит подробности о том, что изменилось (или, возможно, должно быть изменено в check_mode), при использовании режима 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

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

Пример: "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–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

Spec-Zone.ru

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