Spec-Zone.ru › Ansible 2.4

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

  • Описание
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус
    • Информация о техническом обслуживании

Описание

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

Требования (к хосту, на котором выполняется модуль)

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

Параметры

параметр обязателен по умолчанию значения комментарии
accept_hostkey
(добавлен в 1.5)
нет нет
  • да
  • нет
если yes, убедитесь, что "-o StrictHostKeyChecking=no" присутствует в качестве опций ssh.
archive
(добавлен в 2.4)
нет
Укажите путь к файлу архива с расширением. Если указано, создаётся архив указанного формата, содержащий структуру дерева для исходного дерева. Разрешенные форматы архивов ["zip", "tar.gz", "tar", "tgz"]
bare
(добавлен в 1.4)
нет нет
  • да
  • нет
если yes, репозиторий будет создан как пустой, в противном случае это будет стандартный репозиторий с рабочим пространством.
clone
(добавлен в 1.9)
нет да
  • да
  • нет
Если no, не клонировать репозиторий, если он не существует локально
depth
нет
Создать мелкий клон с историей, усечённой до указанного числа или ревизий. Минимально возможное значение - 1, в противном случае игнорируется. Требуется git>=1.9.1 для корректной работы.
dest
да
Путь, куда должен быть развернут репозиторий. Этот параметр обязателен, если clone не установлен на no.
executable
(добавлен в 1.4)
нет
Путь к исполняемому файлу git для использования. Если не указан, будет использоваться стандартный механизм разрешения путей к бинарным файлам.
force
нет нет
  • да
  • нет
Если yes, все изменённые файлы в рабочем репозитории будут удалены. До версии 0.7 это всегда было 'да' и не могло быть отключено. До версии 1.9 по умолчанию было `да`
key_file
(добавлен в 1.5)
нет None
Укажите необязательный файл с закрытым ключом для использования при развертывании.
recursive
(добавлен в 1.6)
нет да
  • да
  • нет
если no, репозиторий будет клонирован без опции --recursive, пропуская подмодули.
reference
(добавлен в 1.4)
нет
Ссылка на репозиторий (см. "git clone --reference ...")
refspec
(добавлен в 1.9)
нет
Добавить дополнительную refspec для извлечения. Если версия установлена на SHA-1, недоступную ни из одной ветки или тега, эта опция может потребоваться для указания ref, содержащей SHA-1. Используется тот же синтаксис, что и в команде 'git fetch'. Пример значения: "refs/meta/config".
remote
нет origin
Имя удалённого репозитория.
repo
да
Адрес git репозитория по протоколам git, SSH или HTTP(S).
псевдонимы: имя
ssh_opts
(добавлен в 1.5)
нет None
Создаёт скрипт-оболочку и экспортирует путь как GIT_SSH, который git затем автоматически использует для переопределения аргументов ssh. Пример значения: "-o StrictHostKeyChecking=no"
track_submodules
(добавлен в 1.8)
нет нет
  • да
  • нет
если yes, подмодули будут отслеживать последнюю коммитацию в их ветке master (или другой ветке, указанной в .gitmodules). Если no, подмодули будут сохранены в ревизии, указанной в основном проекте. Это эквивалентно указанию флага --remote для git submodule update.
umask
(добавлен в 2.2)
нет
Установить umask перед любыми развертываниями или другими операциями с репозиторием.
update
нет да
  • да
  • нет
Если no, не извлекать новые ревизии из исходного репозитория
Операции, такие как создание архива, будут работать с существующим (старым) репозиторием и могут не реагировать на изменения версии параметров или удалённого репозитория.
verify_commit
(добавлен в 2.0)
нет нет
  • да
  • нет
если yes, при клонировании или развертывании version проверять подпись подписанной GPG-коммита. Для этого требуется git версия>=2.1.0. Коммита ДОЛЖНА быть подписана, и открытый ключ ДОЛЖЕН быть в хранилище GPG.
version
нет HEAD
Какую версию репозитория развернуть. Это может быть строка HEAD, имя ветки, имя тега. Также может быть SHA-1 хэш, в этом случае refspec необходимо указать, если заданная ревизия ещё недоступна.

Примеры

# 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. Возвращается к полному развертыванию.

Примечания

Примечание

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

Статус

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

Информация о техническом обслуживании

Для получения дополнительной информации о поддержке этого модуля компанией Red Hat обратитесь к этому knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

Для получения помощи в разработке модулей, если вы заинтересованы в этом, пожалуйста, прочтите Информацию о сообществе и участии в разработке, Тестирование Ansible и Разработка модулей.

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

Spec-Zone.ru

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