Ansible Galaxy
“Ansible Galaxy” 指的是一个网站共享和下载 Ansible 角色,也可以是者是帮助 roles 更好的工作的命令行工具。
The Website
```````
这个网站
Ansible Galaxy
,是一个免费的用于查找,下载,评论各种社区开发的 Ansible 角色,在你的自动化项目中引入一些角色也是不错的。
你可以使用 social auth 注册和使用 “ansible-galaxy” 下载客户端,”ansible-galaxy”在 Ansible 1.4.2 就已经被包含了。
阅读 Galaxy 网站的 “About” 页面获取更多信息。
ansible-galaxy命令行工具
ansible-galaxy 有许多不同的子命令
安装角色
很明显从 Ansible Galaxy 网站下载角色
ansible-galaxy install username.rolename
构建角色架构
也可以用于初始化一个新角色的基本文件结构,节省创建不同的目录和main.yml的时间了。
ansible-galaxy init rolename
从一个文件安装多个角色
想安装多个角色,ansible-galaxy 命令行可以通过一个 requirements 文件实现。各种版本的ansible 都允许使用下面的语法从 Ansible galaxy 网站安装角色。
ansible-galaxy install -r requirements.txt
requirements.txt 文件看起来就像这样
username1.foo_role
username2.bar_role
想得到指定版本(tag)的role,使用下面的语法
username1.foo_role,version
username2.bar_role,version
可用的版本在 Ansible Galaxy 网页上都有列出来。
Requirements 文件高级用法
一些控制从哪里下载角色,支持远程源的用法,在 Ansible 1.8 之后支持通过 YMAL 语法的 requirements 文件实现,但是必须以 yml为文件扩展名。就像这样
ansible-galaxy install -r requirements.yml
扩展名是很重要的,如果 .yml 扩展忘记写了, ansible-galaxy 命令行会假设这个文件是普通格式的,而且会失败,
这里有个例子展示通过多个源下载一些指定版本。 其中也实现了覆盖下载角色的名字到其它名字。