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.
ansible-galaxy install raffienficiaud.atlassian-bambooagent-install-dmg-role