raffienficiaud.atlassian-bambooagent-install-dmg-role
Ansible Atlassian BambooAgent DMG Installationsrolle
Installiert den Inhalt einer DMG
-Datei auf ein entferntes Ziel (nur OSX).
Dies ist derzeit eine Rolle, sollte aber eher ein komplexer Befehl sein. Diese Rolle
- kopiert eine DMG-Datei auf den Host
- transformiert sie falls nötig, um die Automatisierung zu ermöglichen (manche DMGs erfordern manuelle Eingaben: die erwähnte Transformation entfernt die manuellen Schritte)
- bindet sie in einen temporären Ordner ein
- führt einen Befehl für die Installation aus
- bindet sie wieder ab und löscht alle Zwischen-Dateien (z. B. die transformierte DMG)
Anforderungen
Keine besonderen Anforderungen, außer dass sie auf einer OSX-Zielmaschine ausgeführt werden muss.
Rollenvariablen
Variable | Standard | Bedeutung |
---|---|---|
dmg_to_install | erforderlich | Die DMG-Datei, die installiert werden soll. Dies ist eigentlich ein Wörterbuch, das die Installationsoptionen angibt. |
Format von dmg_to_install
Das dmg_to_install
ist ein Wörterbuch, das die folgenden Felder enthält
Feld | Standard | Bedeutung |
---|---|---|
file |
erforderlich | Zeigt auf die DMG-Datei. |
install_cmd |
erforderlich | Der Befehl, der nach dem ordnungsgemäßen Einbinden der DMG auf dem Remote-System ausgeführt werden soll. |
remove_interactive |
False |
Gibt an, ob die Original-DMG geändert werden sollte, um einige interaktive Eingaben zu entfernen. |
local_folder |
/tmp |
Der Ordner auf dem Remote, in den die DMG kopiert wird. Dort werden auch Zwischen-DMGs erstellt. |
remote_src |
False |
Wenn True , befindet sich die DMG bereits auf dem Remote und wird nicht vom Controller kopiert. |
remove_after_install |
True |
Wenn False , wird die Original-DMG nach der Installation nicht gelöscht. Die Zwischen-DMGs werden immer gelöscht. |
Während der Installation wird die Variable ${mount}
mit dem tatsächlichen Einhängeort des DMG-Inhalts ersetzt (siehe Beispiel unten).
Abhängigkeiten
Keine zusätzlichen Abhängigkeiten.
Beispiel-Playbook
Das folgende Beispiel installiert die XCode-Befehlszeilenwerkzeuge:
# Installiert die OSX-Befehlszeilenwerkzeuge
# korrigiert die Pfade währenddessen
- role: 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), '<')
Und die Variable bamboo_xcode
enthält Folgendes:
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
Die ${mount}
-Variable wird auf den tatsächlichen Einhängeort (beliebiger Ordner) erweitert. Die bamboo_xcode.version
ist nicht direkt mit der DMG-Rolle verbunden (sondern eher mit der Ansible Bedingung des obigen dmg_to_install
-Befehls).
Lizenz
BSD
Autoreninformationen
Kommentare zu Ansible, Pull-Requests oder Fehlerberichte sind willkommen im entsprechenden Github-Projekt.
ansible-galaxy install raffienficiaud.atlassian-bambooagent-install-dmg-role