Spec-Zone.ru › Ansible 2.6

git — Развёртывание программного обеспечения (или файлов) из git-чек-аутов

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

Описание

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
accept_hostkey
bool

(добавлен в 1.5)
    Варианты:
  • нет ←
  • да
если yes, убедитесь, что опция ssh "-o StrictHostKeyChecking=no" присутствует.
archive
(добавлен в 2.4)
Укажите путь к файлу архива с расширением. Если указано, создаётся архив указанного формата, содержащий структуру дерева исходного дерева. Допустимые форматы архивов ["zip", "tar.gz", "tar", "tgz"]
Это позволит клонировать и выполнить git archive из локального каталога, так как не все git-серверы поддерживают git archive.
bare
bool

(добавлен в 1.4)
    Варианты:
  • нет ←
  • да
если yes, репозиторий будет создан как bare-репозиторий, в противном случае это будет стандартный репозиторий с рабочей областью.
clone
bool

(добавлен в 1.9)
    Варианты:
  • нет
  • да ←
Если no, не клонировать репозиторий, если он не существует локально
depth
Создать мелкозернистый клон с историей, урезанной до указанного количества или версий. Минимальное возможное значение — 1, в противном случае игнорируется. Требуется git>=1.9.1 для правильной работы.
dest
обязательный
Путь, куда должен быть развернут репозиторий. Этот параметр обязателен, если clone не установлен на no.
executable
(добавлен в 1.4)
Путь к исполняемому файлу git. Если не указано, будет использоваться стандартный механизм для определения путей к двоичным файлам.
force
bool
    Варианты:
  • нет ←
  • да
Если yes, все изменённые файлы в рабочем репозитории будут удалены. До версии 0.7 это всегда было 'да' и отключить нельзя. До версии 1.9 по умолчанию было `да`
key_file
(добавлен в 1.5)
Укажите путь к необязательному приватному ключу на целевом хосте для использования при развёртывании.
recursive
bool

(добавлен в 1.6)
    Варианты:
  • нет
  • да ←
если no, репозиторий будет клонирован без опции --recursive, пропуская подмодули.
reference
(добавлен в 1.4)
Ссылка на репозиторий (см. "git clone --reference ...")
refspec
(добавлен в 1.9)
Добавить дополнительную спецификацию ref для получения. Если версия установлена на SHA-1, недоступную ни из одной ветки или тега, эта опция может потребоваться для указания ref, содержащего SHA-1. Использует тот же синтаксис, что и команда 'git fetch'. Пример значения — "refs/meta/config".
remote По умолчанию:
"origin"
Название удалённого репозитория.
repo
обязательный
Адрес git-репозитория по протоколу git, SSH или HTTP(S).

псевдонимы: имя
ssh_opts
(добавлен в 1.5)
Создаёт скрипт-оболочку и экспортирует путь как GIT_SSH, который git автоматически использует для переопределения аргументов ssh. Пример значения — "-o StrictHostKeyChecking=no".
track_submodules
bool

(добавлен в 1.8)
    Варианты:
  • нет ←
  • да
если yes, подмодули будут отслеживать последнюю фиксацию в ветке master (или другой ветке, указанной в .gitmodules). Если no, подмодули будут сохранены на версии, указанной в основном проекте. Это эквивалентно указанию флага --remote для git submodule update.
umask
(добавлен в 2.2)
Значение umask для установки перед развёртыванием или любым другим обслуживанием репозитория.
update
bool
    Варианты:
  • нет
  • да ←
Если no, не получать новые версии из исходного репозитория.
Операции, такие как archive, будут работать с существующим (старым) репозиторием и могут не реагировать на изменения в опциях версии или удалённом репозитории.
verify_commit
bool

(добавлен в 2.0)
    Варианты:
  • нет ←
  • да
если yes, при клонировании или развёртывании version проверяйте подпись GPG-подписанной фиксации. Для этого требуется, чтобы была установлена версия git >=2.1.0. Фиксация ДОЛЖНА быть подписана, а открытый ключ ДОЛЖЕН присутствовать в хранилище GPG.
version По умолчанию:
"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.

Примеры

# Example git checkout from Ansible Playbooks
- git:
    repo: 'https://foosball.example.org/path/to/repo.git'
    dest: /srv/checkout
    version: release-0.22

# Example read-write git checkout from github
- git:
    repo: ssh://git@github.com/mylogin/hello.git
    dest: /home/mylogin/hello

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

# Example 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

# Example 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/*'

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

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

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

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

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

Пример:
67c04ebe40a003bda0efb34eacfb93b0cafdf628
remote_url_changed
логический
успех
Содержит True или False, указывая, был ли изменён URL удалённого репозитория.

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

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


Статус

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

Техническое обслуживание

Этот модуль помечен как ядерный, что означает, что его поддерживает команда Ansible Core. См. Поддержка и сопровождение модулей для получения дополнительной информации.

Список других модулей, также поддерживаемых командой Ansible Core, см. в этом месте.

Поддержка

Для получения дополнительной информации о поддержке этого модуля Red Hat, пожалуйста, обратитесь к этой статье базы знаний

Автор

  • Команда Ansible Core
  • Майкл ДеХан

Подсказка

Если вы заметите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.

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

Spec-Zone.ru

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