Spec-Zone.ru › Ansible 2.10

ansible.builtin.git – Развёртывание программного обеспечения (или файлов) из репозиториев git

Примечание

Этот модуль входит в состав ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля git, даже не указывая ключевое слово collections:. Несмотря на это, рекомендуется использовать FQCN для удобной ссылки на документацию по модулю и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.

Добавлена в версии 0.0.1: of ansible.builtin

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

Описание

  • Управление репозиториями git для развёртывания файлов или программного обеспечения.

Требования

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

  • git>=1.7.1 (утилита командной строки)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
accept_hostkey
boolean
добавлен в версии 1.5 ansible.builtin
    Варианты:
  • no ←
  • yes
если yes, убедитесь, что опция "-o StrictHostKeyChecking=no" присутствует в качестве опции ssh.
archive
string
добавлен в версии 2.4 ansible.builtin
Укажите путь к файлу архива с расширением. Если указан, создаёт архив указанного формата, содержащий структуру дерева исходного дерева. Разрешённые форматы архивов ["zip", "tar.gz", "tar", "tgz"]
Это позволит клонировать и выполнить git archive из локальной директории, так как не все серверы git поддерживают git archive.
archive_prefix
string
добавлен в версии 2.10 ansible.builtin
Укажите префикс для добавления к каждому пути к файлам в архиве. Требуется, чтобы archive был указан.
bare
boolean
добавлен в версии 1.4 ansible.builtin
    Варианты:
  • no ←
  • yes
если yes, репозиторий будет создан как bare repo, в противном случае это будет стандартный репозиторий с рабочим пространством.
clone
boolean
добавлен в версии 1.9 ansible.builtin
    Варианты:
  • no
  • yes ←
Если no, не клонировать репозиторий, даже если он не существует локально
depth
string
добавлен в версии 1.2 ansible.builtin
Создать неполную копию с историей, урезанной до указанного числа ревизий. Минимальное возможное значение 1, в противном случае игнорируется. Требуется git>=1.9.1 для правильной работы.
dest
string / обязательный
Путь, куда должен быть клонирован репозиторий. Этот параметр обязателен, если clone не установлено в no.
executable
string
добавлен в версии 1.4 ansible.builtin
Путь к исполняемому файлу git. Если не указан, будет использоваться стандартный механизм разрешения путей к бинарным файлам.
force
boolean
добавлен в версии 0.7 ansible.builtin
    Варианты:
  • no ←
  • yes
Если yes, любые изменённые файлы в рабочей копи репозитория будут удалены. До версии 0.7 это значение всегда было 'yes' и его нельзя было отключить. До версии 1.9, значение по умолчанию было `yes`
gpg_whitelist
list / elements=string
добавлен в версии 2.9 ansible.builtin
Значение по умолчанию:
[]
Список надёжных отпечатков GPG для сравнения с отпечатком GPG-подписанного коммита.
Используется только при verify_commit=yes.
key_file
string
добавлен в версии 1.5 ansible.builtin
Укажите путь к необязательному файлу закрытого ключа на целевом хосте для использования при клонировании.
recursive
boolean
добавлен в версии 1.6 ansible.builtin
    Варианты:
  • no
  • yes ←
если no, репозиторий будет клонирован без опции --recursive, пропуская подмодули.
reference
string
добавлен в версии 1.4 ansible.builtin
Ссылка на репозиторий (см. "git clone --reference ...")
refspec
string
добавлен в версии 1.9 ansible.builtin
Добавьте дополнительный refspec для извлечения. Если версия установлена на SHA-1, недоступную ни из одной ветви или тега, эта опция может быть необходима для указания ref, содержащего SHA-1. Использует тот же синтаксис, что и команда 'git fetch'. Пример значения - "refs/meta/config".
remote
string
Значение по умолчанию:
"origin"
Имя удалённого репозитория.
repo
string / обязательный
Адрес git репозитория по протоколу git, SSH или HTTP(S).

псевдонимы: name
separate_git_dir
string
добавлен в версии 2.7 ansible.builtin
Путь для размещения клонированного репозитория. Если указан, Git репозиторий может быть отделён от рабочей директории.
ssh_opts
string
добавлен в версии 1.5 ansible.builtin
Создаёт скрипт-обёртку и экспортирует путь как GIT_SSH, который git автоматически использует для переопределения аргументов ssh. Пример значения - "-o StrictHostKeyChecking=no" (хотя эту конкретную опцию лучше задавать через accept_hostkey).
track_submodules
boolean
добавлен в версии 1.8 ansible.builtin
    Варианты:
  • no ←
  • yes
если yes, подмодули отслеживают последний коммит в их главной ветви (или другой ветви, указанной в .gitmodules). Если no, подмодули будут сохраняться в ревизии, указанной в основном проекте. Это эквивалентно указанию флага --remote для git submodule update.
umask
string
добавлен в версии 2.2 ansible.builtin
Установить umask перед выполнением любых клонирований или других операций обслуживания репозитория.
update
boolean
добавлен в версии 1.2 ansible.builtin
    Варианты:
  • no
  • yes ←
Если no, не извлекать новые ревизии из исходного репозитория.
Операции, такие как archive, будут работать с существующим (старым) репозиторием и могут не реагировать на изменения в опциях версии или удалённом репозитории.
verify_commit
boolean
добавлен в версии 2.0 ansible.builtin
    Варианты:
  • no ←
  • yes
если yes, при клонировании или выгрузке из version проверять подпись GPG-подписанного коммита. Это требует установки git версии >=2.1.0. Коммит ДОЛЖЕН быть подписан, и открытый ключ ДОЛЖЕН присутствовать в хранилище GPG.
version
string
Значение по умолчанию:
"HEAD"
Какую версию репозитория выгружать. Это может быть строка HEAD, имя ветви, имя тега. Также это может быть SHA-1 хэш, в этом случае refspec необходимо указать, если заданная ревизия ещё не доступна.

Примечания

Примечание

  • Если задача зависает, сначала проверьте, находится ли удалённый хост в known_hosts. SSH запросит у пользователя авторизацию при первом контакте с удалённым хостом. Чтобы избежать этого запроса, одним из решений является использование опции accept_hostkey. Другое решение - добавить открытый ключ удалённого хоста в /etc/ssh/ssh_known_hosts перед вызовом модуля git с помощью следующей команды: ssh-keyscan -H remote_host.com >> /etc/ssh/ssh_known_hosts.

Примеры

- name: Git checkout
  git:
    repo: 'https://foosball.example.org/path/to/repo.git'
    dest: /srv/checkout
    version: release-0.22

- name: Read-write git checkout from github
  git:
    repo: git@github.com:mylogin/hello.git
    dest: /home/mylogin/hello

- name: Just ensuring the repo checkout exists
  git:
    repo: 'https://foosball.example.org/path/to/repo.git'
    dest: /srv/checkout
    update: no

- name: Just get information about the repository whether or not it has already been cloned locally
  git:
    repo: 'https://foosball.example.org/path/to/repo.git'
    dest: /srv/checkout
    clone: no
    update: no

- name: Checkout a github repo and use refspec to fetch all pull requests
  git:
    repo: https://github.com/ansible/ansible-examples.git
    dest: /src/ansible-examples
    refspec: '+refs/pull/*:refs/heads/*'

- name: Create git archive from repo
  git:
    repo: https://github.com/ansible/ansible-examples.git
    dest: /src/ansible-examples
    archive: /tmp/ansible-examples.zip

- name: Clone a repo with separate git directory
  git:
    repo: https://github.com/ansible/ansible-examples.git
    dest: /src/ansible-examples
    separate_git_dir: /src/ansible-examples.git

Возвращаемые значения

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

Ключ Возвращаемое значение Описание
after
строка
успех
последняя ревизия коммита репозитория, полученная во время обновления

Пример:
4c020102a9cd6fe908c9a4a326a38f972f63a903
before
строка
успех
ревизия коммита до обновления репозитория, «null» для нового репозитория

Пример:
67c04ebe40a003bda0efb34eacfb93b0cafdf628
git_dir_before
строка
успех
Содержит исходный путь к каталогу .git, если он был изменён

Пример:
/path/to/old/git/dir
git_dir_now
строка
успех
Содержит новый путь к каталогу .git, если он был изменён

Пример:
/path/to/new/git/dir
remote_url_changed
булево
успех
Содержит True или False, указывающие на то, был ли изменён удалённый URL.

Пример:
True
warnings
строка
ошибка
Список предупреждений, если запрошенные функции были недоступны из-за слишком старой версии git.

Пример:
Ваша версия git слишком старая, чтобы полностью поддерживать аргумент depth. Используется полный вывод.


Авторы

  • Команда Ansible Core
  • Michael DeHaan

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/git_module.html

Spec-Zone.ru

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