atlassian-bambooagent-install-dmg-role
Установка роли Ansible Atlassian BambooAgent из DMG файла
Устанавливает содержимое DMG файла на удаленный объект (только OSX).
На данный момент это роль, но лучше было бы реализовать это как сложную команду. Эта роль:
- копирует DMG файл на хост
- при необходимости преобразует его для автоматизации (например, некоторые DMG требуют ручного ввода: упомянутое преобразование убирает ручные шаги)
- монтирует его во временную папку
- выполняет команду для установки
- размонтирует и удаляет все промежуточные файлы (например, преобразованный DMG)
Требования
Нет особых требований, кроме необходимости работать на машине с OSX.
Переменные роли
переменная | по умолчанию | значение |
---|---|---|
dmg_to_install | обязательная | DMG файл для установки. Это фактически словарь, указывающий параметры установки. |
Формат dmg_to_install
dmg_to_install
— это словарь, содержащий следующие поля
поле | по умолчанию | значение |
---|---|---|
file |
обязательное | Указывает на DMG файл. |
install_cmd |
обязательное | Команда, которая должна выполняться на удаленном хосте после правильного монтирования DMG. |
remove_interactive |
False |
Указывает, нужно ли изменять оригинальный DMG, чтобы убрать некоторые интерактивные вводы. |
local_folder |
/tmp |
Папка на удаленном хосте, куда копируется DMG. Промежуточные DMG также создаются там. |
remote_src |
False |
Если True , DMG уже находится на удаленном хосте и не копируется с контроллера. |
remove_after_install |
True |
Если False , оригинальный DMG не удаляется после установки. Промежуточные DMG всегда удаляются. |
Во время установки переменная ${mount}
заменяется на фактическое место монтирования содержимого DMG (см. пример ниже).
Зависимости
Нет дополнительных зависимостей.
Пример Playbook
Следующий пример устанавливает инструменты командной строки XCode:
# Устанавливает инструменты командной строки OSX
# исправляет пути на лету
- роль: ansible-atlassian-bambooagent-install-dmg-role
dmg_to_install:
- "{{ bamboo_xcode }}"
when:
- ansible_distribution == "MacOSX"
- xcode_version_installed | version_compare('%d.%d' % (bamboo_xcode.version.major, bamboo_xcode.version.minor), '<')
А переменная bamboo_xcode
содержит следующее:
bamboo_xcode:
file: 'commandlinetoolsosx10.10forxcode6.3.2.dmg'
install_cmd: 'installer -allowUntrusted -dumplog -pkg "${mount}/Command Line Tools (OS X 10.10).pkg" -target /'
remove_interactive: False
version:
major: 6
minor: 3
patch: 2
Переменная ${mount}
развернется в фактическое место монтирования (случайная папка). Версия bamboo_xcode.version
напрямую не связана с ролью DMG (а скорее с условием ansible выше в команде dmg_to_install
).
Лицензия
BSD
Информация об авторе
Любые комментарии о Ansible, PR или сообщения об ошибках приветствуются в соответствующем проекте на Github.
ansible-galaxy install raffienficiaud/ansible-atlassian-bambooagent-install-dmg-role