Spec-Zone.ru › Ansible

community.general.gitlab_project модуль — Создаёт/обновляет/удаляет проекты GitLab

Примечание

Этот модуль является частью коллекции community.general (версия 9.5.0).

У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.

Для её установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.

Чтобы использовать его в книге задач, укажите: community.general.gitlab_project.

  • Описание
  • Требования
  • Параметры
  • Атрибуты
  • Примеры
  • Возвращаемые значения

Описание

  • Если проекта в GitLab нет, он будет создан.
  • Если проект существует и state=absent, проект будет удалён.
  • Если в проекте внесены изменения, проект будет обновлён.

Требования

Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.

  • python-gitlab python модуль
  • requests (библиотека Python https://pypi.org/project/requests/)
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

allow_merge_on_skipped_pipeline

boolean

added in community.general 3.4.0

Разрешить слияние, если существуют пропущенные этапы конвейера.

Choices:

  • false
  • true

api_job_token

string

added in community.general 4.2.0

Токен задания GitLab CI для входа.

api_oauth_token

string

added in community.general 4.2.0

Токен OAuth GitLab для входа.

api_password

string

Пароль для аутентификации в API.

api_token

string

Токен доступа GitLab с правами API.

api_url

string

Разрешаемая конечная точка для API.

api_username

string

Имя пользователя для аутентификации в API.

avatar_path

path

added in community.general 4.2.0

Абсолютный путь к изображению для настройки аватара. Размер файла не должен превышать 200 КБ.

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

builds_access_level

string

added in community.general 6.2.0

private означает, что CI/CD репозитория разрешено только участникам проекта.

disabled означает, что CI/CD репозитория отключено.

enabled означает, что CI/CD репозитория включено.

Choices:

  • "private"
  • "disabled"
  • "enabled"

ca_path

string

added in community.general 8.1.0

Пакет сертификатов CA, используемый для проверки сертификата сервера GitLab.

ci_config_path

string

added in community.general 3.7.0

Пользовательский путь к файлу конфигурации CI для этого проекта.

container_expiration_policy

dictionary

added in community.general 9.3.0

Политика очистки проекта для его реестра контейнеров.

cadence

string

Как часто должна выполняться очистка.

Choices:

  • "1d"
  • "7d"
  • "14d"
  • "1month"
  • "3month"

enabled

boolean

Включить политику очистки.

Choices:

  • false
  • true

keep_n

integer

Количество тегов, хранимых для каждого имени изображения.

0 очищает поле.

Choices:

  • 0
  • 1
  • 5
  • 10
  • 25
  • 50
  • 100

name_regex

string

Удалить теги, соответствующие этому регулярному выражению.

name_regex_keep

string

Сохранить теги, соответствующие этому регулярному выражению.

older_than

string

Удалить теги, более старые, чем это.

0d очищает поле.

Choices:

  • "0d"
  • "7d"
  • "14d"
  • "30d"
  • "90d"

container_registry_access_level

string

added in community.general 6.2.0

private означает, что реестр контейнеров разрешен только участникам проекта.

disabled означает, что реестр контейнеров отключен.

enabled означает, что реестр контейнеров включен.

Choices:

  • "private"
  • "disabled"
  • "enabled"

default_branch

string

added in community.general 4.2.0

Имя ветки по умолчанию для этого проекта.

Для создания проекта требуется initialize_with_readme=true.

Для обновления проекта ветка должна существовать.

Поддерживает обновление ветки по умолчанию проекта с версии community.general 8.0.0.

description

string

Описание проекта.

environments_access_level

string

added in community.general 6.4.0

private означает, что развертывание в среде разрешено только участникам проекта.

disabled означает, что развертывание в среде отключено.

enabled означает, что развертывание в среде включено.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

feature_flags_access_level

string

added in community.general 6.4.0

private означает, что ввод новых функций разрешён только участникам проекта.

disabled означает, что ввод новых функций отключен.

enabled означает, что ввод новых функций включен.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

forking_access_level

string

added in community.general 6.2.0

private означает, что создание форков репозитория разрешено только участникам проекта.

disabled означает, что создание форков репозитория отключено.

enabled означает, что создание форков репозитория включено.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

group

string

Идентификатор или полный путь группы, к которой принадлежит этот проект.

import_url

string

Git-репозиторий, который будет импортирован в GitLab.

Сервер GitLab должен иметь доступ для чтения к этому Git-репозиторию.

infrastructure_access_level

string

added in community.general 6.4.0

private означает, что настройка инфраструктуры разрешена только участникам проекта.

disabled означает, что настройка инфраструктуры отключена.

enabled означает, что настройка инфраструктуры включена.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

initialize_with_readme

boolean

added in community.general 4.0.0

Инициализирует проект с помощью файла по умолчанию README.md.

Используется только при создании проекта и игнорируется в противном случае.

Варианты:

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

issues_access_level

string

added in community.general 9.4.0

private означает, что доступ к вкладке «Вопросы» разрешен только участникам проекта.

disabled означает, что доступ к вкладке «Вопросы» отключен.

enabled означает, что доступ к вкладке «Вопросы» включен.

issues_access_level и issues_enabled взаимоисключающие.

Варианты:

  • "private"
  • "disabled"
  • "enabled"

issues_enabled

boolean

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

issues_access_level и issues_enabled взаимоисключающие.

Варианты:

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

lfs_enabled

boolean

added in community.general 2.0.0

Включение системы управления большими файлами Git для работы с большими файлами, такими как аудио, видео и графические файлы.

Варианты:

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

merge_method

string

added in community.general 1.0.0

Требования к слияниям.

Возможные значения: merge, rebase_merge (слияние с полулинейной историей), ff (только слияния fast-forward).

Варианты:

  • "ff"
  • "merge" ← (по умолчанию)
  • "rebase_merge"

merge_requests_enabled

boolean

Разрешить или запретить создание запросов на слияние.

Варианты:

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

model_registry_access_level

string

added in community.general 9.3.0

private означает, что доступ к вкладке реестра моделей разрешен только участникам проекта.

disabled означает, что доступ к вкладке реестра моделей отключен.

enabled означает, что доступ к вкладке реестра моделей разрешен.

Choices:

  • "private"
  • "disabled"
  • "enabled"

monitor_access_level

string

added in community.general 6.4.0

private означает, что мониторинг работоспособности разрешен только участникам проекта.

disabled означает, что мониторинг работоспособности отключен.

enabled означает, что мониторинг работоспособности разрешен.

Choices:

  • "private"
  • "disabled"
  • "enabled"

name

string / required

Название проекта.

only_allow_merge_if_all_discussions_are_resolved

boolean

added in community.general 3.4.0

Все обсуждения в запросе на слияние (MR) должны быть разрешены.

Choices:

  • false
  • true

only_allow_merge_if_pipeline_succeeds

boolean

added in community.general 3.4.0

Разрешать слияние только в случае успешного завершения pipeline.

Choices:

  • false
  • true

packages_enabled

boolean

added in community.general 3.4.0

Включить репозиторий пакетов GitLab.

Choices:

  • false
  • true

pages_access_level

string

added in community.general 9.3.0

private означает, что доступ к вкладке страниц разрешен только участникам проекта.

disabled означает, что доступ к вкладке страниц отключен.

enabled означает, что доступ к вкладке страниц разрешен.

Choices:

  • "private"
  • "disabled"
  • "enabled"

path

string

Путь к проекту, который вы хотите создать, это будет server_url/<group>/path.

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

releases_access_level

string

added in community.general 6.4.0

private означает, что доступ к релизу разрешен только участникам проекта.

disabled означает, что доступ к релизу отключен.

enabled означает, что доступ к релизу разрешен.

Choices:

  • "private"
  • "disabled"
  • "enabled"

remove_source_branch_after_merge

boolean

added in community.general 3.4.0

Удалить исходную ветку после слияния.

Choices:

  • false
  • true

repository_access_level

string

added in community.general 9.3.0

private означает, что доступ к репозиторию разрешен только участникам проекта.

disabled означает, что доступ к репозиторию отключен.

enabled означает, что доступ к репозиторию разрешен.

Choices:

  • "private"
  • "disabled"
  • "enabled"

security_and_compliance_access_level

string

added in community.general 6.4.0

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

disabled означает, что доступ к вкладке безопасности и соответствия отключен.

enabled означает, что доступ к вкладке безопасности и соответствия разрешен.

Choices:

  • "private"
  • "disabled"
  • "enabled"

service_desk_enabled

boolean

added in community.general 9.3.0

Включить службу поддержки.

Choices:

  • false
  • true

shared_runners_enabled

boolean

added in community.general 3.7.0

Включить общие runner'ы для этого проекта.

Choices:

  • false
  • true

snippets_enabled

boolean

Должна ли быть доступна возможность создания сниппетов или нет.

Choices:

  • false
  • true ← (default)

squash_option

string

added in community.general 3.4.0

Слияние коммитов при слиянии.

Варианты:

  • "never"
  • "always"
  • "default_off"
  • "default_on"

state

string

Создание или удаление проекта.

Возможные значения — present и absent.

Варианты:

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

topics

list / elements=string

added in community.general 6.6.0

Тематика или список тем, которые необходимо назначить проекту.

Совместимо со старыми версиями сервера GitLab (версии до 14, соответствует tag_list).

username

string

added in community.general 3.3.0

Используется для создания личного проекта под именем пользователя.

validate_certs

boolean

Подтверждать ли SSL-сертификаты при использовании HTTPS-ключа.

Варианты:

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

visibility

aliases: visibility_level

string

private Доступ к проекту должен быть предоставлен явно для каждого пользователя.

internal Проект можно клонировать любому авторизованному пользователю.

public Проект можно клонировать без аутентификации.

Варианты:

  • "private" ← (по умолчанию)
  • "internal"
  • "public"

wiki_enabled

boolean

Должна ли быть доступна вики-страница для этого проекта.

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

В режиме сравнения версий вернёт подробности о произошедших изменениях (или, возможно, необходимых изменениях в check_mode).

Примеры

- name: Create GitLab Project
  community.general.gitlab_project:
    api_url: https://gitlab.example.com/
    api_token: "{{ api_token }}"
    name: my_first_project
    group: "10481470"

- name: Delete GitLab Project
  community.general.gitlab_project:
    api_url: https://gitlab.example.com/
    api_token: "{{ access_token }}"
    name: my_first_project
    state: absent
  delegate_to: localhost

- name: Create GitLab Project in group Ansible
  community.general.gitlab_project:
    api_url: https://gitlab.example.com/
    validate_certs: true
    api_username: dj-wasabi
    api_password: "MySecretPassword"
    name: my_first_project
    group: ansible
    issues_enabled: false
    merge_method: rebase_merge
    wiki_enabled: true
    snippets_enabled: true
    import_url: http://git.example.com/example/lab.git
    initialize_with_readme: true
    state: present
  delegate_to: localhost

- name: get the initial root password
  ansible.builtin.shell: |
    grep 'Password:' /etc/gitlab/initial_root_password | sed -e 's/Password\: \(.*\)/\1/'
  register: initial_root_password

- name: Create a GitLab Project using a username/password via oauth_token
  community.general.gitlab_project:
    api_url: https://gitlab.example.com/
    api_username: root
    api_password: "{{ initial_root_password }}"
    name: my_second_project
    group: "10481470"

Значения возврата

Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

error

string

Сообщение об ошибке, возвращённое API GitLab.

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

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

msg

string

Сообщение об успехе или неудаче.

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

Пример: "Success"

project

dictionary

Объект API.

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

result

dictionary

Обработанный в формате JSON ответ от сервера.

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

Авторы

  • Werner Dijkerman (@dj-wasabi)
  • 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_project_module.html

Spec-Zone.ru

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