Ansible 怎么使用 Roles
上一章「Ansible 什么是Roles」冻仁简单介绍了 Roles,接下来重头戏登场咯!
我们可以通过 Galaxy (银河) 和 ansible-galaxy
(Terminal) 来使用 Roles。
什么是 Galaxy?
Galaxy 的全名为 Ansible Galaxy,它是官方维护的 Roles 市集 (marketplace) 网站。我们可以在网站上取得社群成员所维护的 Roles,其 source code 存放于 GitHub。
ansible-galaxy 是什么?
ansible-galaxy
是管理 Roles 的指令,我们可以在 Terminal 里用它搜寻 (search)、安装 (install)、移除 (remove) Roles 等。换句话说它是 Ansible 世界的 pip
。
想深入了解 ansible-galaxy
的话,不妨 man 一下它!
$ man ansible-galaxy
怎么用 Galaxy 搜寻 Roles?
- 开启浏览器 (Browsers) 并进入 https://galaxy.ansible.com。
进到 Galaxy 的网站后,可在右上角的 Browser Roles 找到数不完的 Role。
在 Keyword 一栏输入关键字后,接下
Enter
即可搜寻。底下将以win_vim
role 为例。在 Details 页签里,可以看到关于这个 Role 的版本记录 (Version History)、支持的平台 (Supported Platforms) 等资讯。
Ansible 最小支持版本 (Minimum Ansible Version) 的部份也请留意,有些语法在旧版的 Ansible 是不被支持的喔!
在 README 页签里,可以看到作者写的说明文件。一般会在 Role Variables 底下列出哪些可以被覆写的预设变数。
怎么用 ansible-galaxy 搜寻 Roles?
除了在 Galaxy 网站搜寻 Roles 以外,我们也可以使用 ansible-galaxy search
+ 关键字
进行搜寻。
怎么安装 Roles?
请使用 ansible-galaxy install
+ Role 名称
来安装 role,如要自定存放 Roles 的位置,请使用 -p
+ 路径
,详情请参考 Download Roles | Ansible Galaxy 一文。
怎么初始化 Roles?
我们可以用 ansible-galaxy init
+ Role 名称
来建立一个新 role,其档案结构部份冻仁已在上一章的「Role 的基本结构」介绍过,这里就不详述了。
以上,您学会怎么使用 Roles 了吗?下章冻仁将教大家如何利用 Galaxy 上的 Roles 建置 LNMP 环境。
后话
我们除了可以在 Galaxy 找到现成的 Roles 外,更可借由阅读前人的 source code 来学习各种知识与技巧。
倘若觉得别人的 Roles 不好使,您就自己写一个,然后分享出来吧!