raffienficiaud.atlassian-bambooagent-install-dmg-role

Instalacja roli Ansible Atassian BambooAgent DMG

Instaluje zawartość pliku DMG na zdalnym docelowym (tylko OSX).

Obecnie jest to rola, ale powinna być raczej złożonym poleceniem. Ta rola

  • kopiuje plik DMG na hosta
  • przekształca go w razie potrzeby, aby umożliwić automatyzację (na przykład niektóre DMG wymagają ręcznych wejść: wspomniane przekształnienie usuwa kroki manualne)
  • montuje go do tymczasowego folderu
  • wykonuje polecenie instalacji
  • odmontowuje i usuwa wszelkie pośrednie pliki (np. przekształcony DMG)

Wymagania

Brak szczególnych wymagań, poza uruchamianiem na maszynie docelowej OSX.

Zmienne roli

zmienna domyślna znaczenie
dmg_to_install wymagana plik DMG do zainstalowania. To właściwie słownik wskazujący opcje instalacji.

Format dmg_to_install

dmg_to_install to słownik zawierający następujące pola

pole domyślna znaczenie
file wymagana Wskazuje plik DMG.
install_cmd wymagana Polecenie, które powinno być wykonane na zdalnym hostie po prawidłowym zamontowaniu DMG.
remove_interactive False Wskazuje, czy oryginalny DMG powinien być zmodyfikowany, aby usunąć niektóre interaktywne wejścia.
local_folder /tmp Folder na zdalnym hoście, do którego kopiowany jest DMG. Pośrednie DMG są również tworzone w tym folderze.
remote_src False jeśli True, DMG jest już na zdalnym hoście i nie jest kopiowany z kontrolera.
remove_after_install True jeśli False, oryginalny DMG nie jest usuwany po instalacji. Pośrednie DMG są zawsze usuwane.

Podczas instalacji zmienna ${mount} jest zastępowana rzeczywistą lokalizacją montowania zawartości DMG (zobacz przykład poniżej).

Zależności

Brak dodatkowych zależności.

Przykład Playbook

Następujący przykład instaluje narzędzia wiersza poleceń XCode:

# Instaluje narzędzia wiersza poleceń OSX
# naprawia ścieżki w locie
- rola: ansible-atlassian-bambooagent-install-dmg-role
  dmg_to_install:
    - "{{ bamboo_xcode }}"
  gdy:
    - ansible_distribution == "MacOSX"
    - zainstalowana_wersja_xcode | porównaj_wersję('%d.%d' % (bamboo_xcode.version.major, bamboo_xcode.version.minor), '<')

a zmienna bamboo_xcode zawiera następujące:

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

Zmienna ${mount} jest rozszerzana do rzeczywistej lokalizacji montowania (losowy folder). Zmienna bamboo_xcode.version nie jest bezpośrednio związana z rolą DMG (ale raczej z warunkiem ansible powyższego polecenia dmg_to_install).

Licencja

BSD

Informacje o autorze

Wszelkie uwagi dotyczące Ansible, PR lub zgłoszeń błędów są mile widziane w odpowiednim projekcie na Githubie.

O projekcie

Helper role for installing a DMG on a remote target

Zainstaluj
ansible-galaxy install raffienficiaud.atlassian-bambooagent-install-dmg-role
Licencja
Unknown
Pobrania
186
Właściciel
ML Engineer, computer vision and C++/Python addict. Open source advocate. Atlassian enthusiast https://bitbucket.org/renficiaud https://yayimorphology.org