geerlingguy.homebrew
Ansible 角色:Homebrew(已移动)
已移动:该角色已移至 geerlingguy.mac
集合。请查看 此问题 以获取迁移指南和更多信息。
在 MacOS 上安装 Homebrew,并根据提供的变量配置软件包、tap 和 cask 应用。
需求
无。
角色变量
可用的变量列在下面,包含默认值(请参见 defaults/main.yml
):
homebrew_repo: https://github.com/Homebrew/brew
Homebrew 核心的 GitHub 仓库。
homebrew_prefix: "{{ (ansible_machine == 'arm64') | ternary('/opt/homebrew', '/usr/local') }}"
homebrew_install_path: "{{ homebrew_prefix }}/Homebrew"
Homebrew 将安装的路径(homebrew_prefix
是父目录)。建议保留默认值,否则 Homebrew 可能会出现一些奇怪的问题。如果更改此变量,您还应手动创建一个指向 /usr/local 的符号链接,以便 Homebrew 正常工作。
homebrew_brew_bin_path: /usr/local/bin
brew
将安装的路径。
homebrew_installed_packages:
- ssh-copy-id
- pv
- { name: vim, install_options: "with-luajit,override-system-vi" }
您希望确保通过 brew install
安装的软件包。您可以通过设置 install_options
属性来可选地添加安装标志,如果使用此选项,您还需要明确设置软件包的 name
。默认情况下,不会安装任何软件包(homebrew_installed_packages: []
)。
homebrew_uninstalled_packages: []
您希望确保被 卸载 的软件包。
homebrew_upgrade_all_packages: false
是否升级 Homebrew 和所有通过 Homebrew 安装的软件包。如果您更喜欢通过 brew
命令手动更新软件包,请将其设置为 false
。
homebrew_taps:
- homebrew/core
- { name: my_company/internal_tap, url: 'https://example.com/path/to/tap.git' }
您希望 Homebrew 确保已添加的 tap。
homebrew_cask_apps:
- firefox
- { name: virtualbox, install_options:"debug,appdir=/Applications" }
您希望通过 cask
安装的应用程序。搜索 受欢迎的应用程序,查看它们是否可通过 Cask 安装。如果 homebrew_taps
变量的 tap 列表中未包含 Cask,则不会使用 Cask。您可以通过设置 install_options
属性来可选地添加安装标志,如果使用此选项,您还需要明确设置软件包的 name
。默认情况下,不会安装任何 Cask 应用(homebrew_cask_apps: []
)。
homebrew_cask_accept_external_apps: true
默认值为 false
,如果在 homebrew_cask_apps
中列出的任何应用程序已经安装且未使用 cask
,则会导致该角色(以及 Ansible play)的后续处理被中断。适合紧密管理的系统。
如果希望在任何应用程序已经安装且未使用 cask
时静默继续,请将其设置为 true
。一般适合同时使用 cask
/ Ansible
以及其他安装方法(如手动)进行管理的系统。
homebrew_cask_uninstalled_apps:
- google-chrome
您希望确保被 卸载 的应用程序。
homebrew_cask_appdir: /Applications
通过 cask
安装的应用程序应安装到的目录。
homebrew_use_brewfile: true
是否通过 Brewfile 安装。如果是,您需要安装 homebrew/bundle
tap,可以在 homebrew_taps
中完成。
homebrew_brewfile_dir: '~'
您 Brewfile 所在的目录。
homebrew_clear_cache: false
设置为 true
,以在安装任何新软件后删除 Homebrew 缓存。
homebrew_user: "{{ ansible_user_id }}"
您希望以哪个用户身份安装 Homebrew。
homebrew_group: "{{ ansible_user_gid }}"
您希望在安装 Homebrew 时使用哪个组。
homebrew_folders_additional: []
确保在 homebrew_prefix
中的任何其他文件夹具有 Homebrew 用户/组的所有权。
依赖
示例 Playbook
- hosts: localhost
vars:
homebrew_installed_packages:
- mysql
roles:
- geerlingguy.homebrew
请参见 tests/local-testing
目录中的示例,了解如何通过 Ansible 的 local
连接运行此角色。另见:
Mac 开发 Ansible Playbook。
许可证
作者信息
该角色由 Jeff Geerling 在 2014 年创建,他是 Ansible for DevOps 的作者。
维护者
ansible-galaxy install geerlingguy.homebrew