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.

Über das Projekt

Helper role for installing a DMG on a remote target

Installieren
ansible-galaxy install raffienficiaud.atlassian-bambooagent-install-dmg-role
GitHub Repository
Lizenz
Unknown
Downloads
186
Besitzer
ML Engineer, computer vision and C++/Python addict. Open source advocate. Atlassian enthusiast https://bitbucket.org/renficiaud https://yayimorphology.org