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.

О проекте

Helper role for installing a DMG on a remote target

Установить
ansible-galaxy install raffienficiaud/ansible-atlassian-bambooagent-install-dmg-role
Лицензия
Unknown
Загрузки
174
Владелец
ML Engineer, computer vision and C++/Python addict. Open source advocate. Atlassian enthusiast https://bitbucket.org/renficiaud https://yayimorphology.org