ansible-galaxy install 命令可安装第三方角色,支持指定用户/角色名、路径(如--roles-path ./roles)、版本(如,v3.2.0)、Git源(分支或提交哈希)及通过requirements.yml批量安装。

直接用 ansible-galaxy install 命令就能从 Ansible Galaxy 下载并安装第三方角色,关键在于指定正确的来源、路径和版本。
基本安装命令
最常用的方式是通过用户名和角色名安装:
-
ansible-galaxy install geerlingguy.apache—— 安装社区热门的 Apache 角色 - 默认会下载到
/etc/ansible/roles(需 root 权限)或首个可写的ANSIBLE_ROLES_PATH目录(如~/.ansible/roles)
指定安装路径
避免权限问题,推荐把角色装到当前项目目录下:
ansible-galaxy install --roles-path ./roles geerlingguy.redis- 这样角色会被放入当前目录下的
./roles/geerlingguy.redis,便于项目隔离和版本控制
安装特定版本或 Git 仓库
生产环境建议锁定版本,防止意外变更:
- Galaxy 上的发布版本:
ansible-galaxy install geerlingguy.mysql,v3.2.0 - Git 分支:
ansible-galaxy install git+https://github.com/geerlingguy/ansible-role-nginx.git,main - Git 提交哈希:
ansible-galaxy install git+https://github.com/geerlingguy/ansible-role-docker.git,8a1f4c2
批量安装多个角色
用 requirements.yml 文件统一管理依赖:
- 创建
requirements.yml,内容示例:
- src: geerlingguy.apache version: 5.2.0 - src: geerlingguy.php version: 4.10.0 - src: https://github.com/bennojoy/nginx.git name: nginx_role version: master
- 执行:
ansible-galaxy install -r requirements.yml --roles-path ./roles - 注意:必须用
.yml扩展名,.txt或无扩展名会触发旧格式解析失败


















