- 前言
- Ansible 是什么?
- 怎么部署 Ansible 环境?
- 怎么用 Vagrant 练习 Ansible?
- 怎么用 Docker 练习 Ansible?
- 怎么操作 Ansible?
- 怎么用 Jupyter 操控 Ansible?(localhost)
- 怎么用 Jupyter 操控 Ansible?(Managed node)
- 怎么用 Docker Compose 练习 Ansible?
- Ansible 的开发工具有哪些?
- 怎么看 Ansible Modules 文件?
- 常用的 Ansible Module 有哪些?
- 怎么使用 setup 取得 Managed node 的 facts?
- 怎么使用 Ansible 的 Template 系统?
- 怎么在 Playbooks 里使用 Handlers?
- Ansible 如何发送 notification 到 Slack?
- Ansible 如何发送 notification 到 HipChat?
- 如何在 Playbooks 使用 loops?
- 如何维护大型的 Playbooks?
- Roles 是什么?
- 怎么使用 Roles?
- 怎么用 Roles 部署 LNMP 网页应用程式?(上)
- 怎么用 Roles 部署 LNMP 网页应用程式?(下)
- 怎么用 Roles 部署 TestLink?
- 怎么在 Ansible Galaxy 分享 Roles?(上)
- 怎么在 Ansible Galaxy 分享 Roles?(下)
- 怎么用 Travis CI 测试 Roles?
- 怎么混用 Ansible 建置 Docker image?
- 怎么在 Docker Hub 混用 Ansible 自动建置 Docker image?
- 怎么用 Vault 管理敏感资料?
- 总结
怎么使用 Roles?
現代 IT 人一定要知道的 Ansible 自動化組態技巧
21. 怎麼使用 Roles?
上一章「20. 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 不好使,您就自己寫一個,然後分享出來吧!
相關連結
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论