geerlingguy.homebrew
Ansible Rolle: Homebrew (VERSCHOBEN)
VERSCHOBEN: Diese Rolle wurde in die Sammlung geerlingguy.mac
verschoben. Bitte siehe diese Anfrage für einen Migrationsleitfaden und weitere Informationen.
Installiert Homebrew auf MacOS und konfiguriert Pakete, Taps und Cask-Apps gemäß den angegebenen Variablen.
Anforderungen
Keine.
Rollvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml
):
homebrew_repo: https://github.com/Homebrew/brew
Das GitHub-Repository für den Homebrew-Core.
homebrew_prefix: "{{ (ansible_machine == 'arm64') | ternary('/opt/homebrew', '/usr/local') }}"
homebrew_install_path: "{{ homebrew_prefix }}/Homebrew"
Der Pfad, an dem Homebrew installiert wird (homebrew_prefix
ist das übergeordnete Verzeichnis). Es wird empfohlen, bei den Standardwerten zu bleiben, da sonst Homebrew merkwürdige Probleme haben könnte. Wenn du diese Variable änderst, solltest du auch manuell einen Symlink zurück nach /usr/local erstellen, damit alles wie von Homebrew erwartet funktioniert.
homebrew_brew_bin_path: /usr/local/bin
Der Pfad, an dem brew
installiert wird.
homebrew_installed_packages:
- ssh-copy-id
- pv
- { name: vim, install_options: "with-luajit,override-system-vi" }
Pakete, die du sicherstellen möchtest, dass sie über brew install
installiert werden. Du kannst optional Flags zur Installation hinzufügen, indem du eine install_options
-Eigenschaft festlegst. Wenn diese verwendet wird, musst du auch den name
für das Paket festlegen. Standardmäßig werden keine Pakete installiert (homebrew_installed_packages: []
).
homebrew_uninstalled_packages: []
Pakete, die du sicherstellen möchtest, dass sie deinstalliert werden.
homebrew_upgrade_all_packages: false
Ob Homebrew und alle von Homebrew installierten Pakete aktualisiert werden sollen. Wenn du bevorzugst, Pakete manuell über brew
-Befehle zu aktualisieren, lasse dies auf false
.
homebrew_taps:
- homebrew/core
- { name: my_company/internal_tap, url: 'https://example.com/path/to/tap.git' }
Taps, die du sicherstellen möchtest, dass Homebrew hinzugefügt wurde.
homebrew_cask_apps:
- firefox
- { name: virtualbox, install_options:"debug,appdir=/Applications" }
Apps, die du über cask
installiert haben möchtest. Suche nach beliebten Apps, um zu sehen, ob sie über Cask verfügbar sind. Cask wird nicht verwendet, wenn es nicht in der Liste der Taps in der homebrew_taps
-Variable enthalten ist. Du kannst optional Flags zur Installation hinzufügen, indem du eine install_options
-Eigenschaft festlegst. Wenn diese verwendet wird, musst du auch den name
für das Paket festlegen. Standardmäßig werden keine Cask-Apps installiert (homebrew_cask_apps: []
).
homebrew_cask_accept_external_apps: true
Der Standardwert ist false
und würde dazu führen, dass die Verarbeitung der gesamten Rolle (und des Ansible-Spiels) unterbrochen wird, falls eine App in homebrew_cask_apps
bereits ohne cask
installiert ist. Dies ist geeignet für ein eng verwaltetes System.
Gib stattdessen true
an, wenn du bevorzugst, stillschweigend fortzufahren, falls eine App bereits ohne cask
installiert ist. Generell gut für ein System, das sowohl mit cask
/ Ansible
als auch mit anderen Installationsmethoden (wie manuell) gleichzeitig verwaltet wird.
homebrew_cask_uninstalled_apps:
- google-chrome
Apps, die du sicherstellen möchtest, dass sie deinstalliert werden.
homebrew_cask_appdir: /Applications
Verzeichnis, in dem Anwendungen, die über cask
installiert werden, installiert werden sollen.
homebrew_use_brewfile: true
Ob über eine Brewfile installiert werden soll. Wenn ja, musst du den homebrew/bundle
-Tap installieren, was innerhalb von homebrew_taps
erfolgen kann.
homebrew_brewfile_dir: '~'
Das Verzeichnis, in dem sich deine Brewfile befindet.
homebrew_clear_cache: false
Setze auf true
, um den Homebrew-Cache nach der Installation neuer Software zu entfernen.
homebrew_user: "{{ ansible_user_id }}"
Der Benutzer, unter dem du Homebrew installieren möchtest.
homebrew_group: "{{ ansible_user_gid }}"
Die Gruppe, die du während der Installation von Homebrew verwenden möchtest.
homebrew_folders_additional: []
Zusätzliche Ordner innerhalb von homebrew_prefix
, für die du sicherstellen möchtest, dass die Besitzverhältnisse für Benutzer/Gruppe von Homebrew korrekt sind.
Abhängigkeiten
Beispiel Playbook
- hosts: localhost
vars:
homebrew_installed_packages:
- mysql
roles:
- geerlingguy.homebrew
Siehe das Verzeichnis tests/local-testing
für ein Beispiel, wie man diese Rolle über Ansible's local
Verbindung ausführt. Siehe auch:
Mac Development Ansible Playbook.
Lizenz
Autoreninformationen
Diese Rolle wurde 2014 von Jeff Geerling, Autor von Ansible for DevOps erstellt.
Maintainer(s)
ansible-galaxy install geerlingguy.homebrew