上一章「Ansible 什么是Roles」凍仁簡單介紹了 Roles,接下來重頭戲登場咯!
我們可以通過 Galaxy (銀河) 和 ansible-galaxy
(Terminal) 來使用 Roles。
Galaxy 的全名為 Ansible Galaxy,它是官方維護的 Roles 市集 (marketplace) 網站。我們可以在網站上取得社群成員所維護的 Roles,其 source code 存放于 GitHub。
ansible-galaxy
是管理 Roles 的指令,我們可以在 Terminal 里用它搜尋 (search)、安裝 (install)、移除 (remove) Roles 等。換句話說它是 Ansible 世界的 pip
。
想深入了解 ansible-galaxy
的話,不妨 man 一下它!
$ man ansible-galaxy
進到 Galaxy 的網站后,可在右上角的 Browser Roles 找到數(shù)不完的 Role。
在 Keyword 一欄輸入關鍵字后,接下 Enter
即可搜尋。底下將以 win_vim
role 為例。
在 Details 頁簽里,可以看到關于這個 Role 的版本記錄 (Version History)、支持的平臺 (Supported Platforms) 等資訊。
Ansible 最小支持版本 (Minimum Ansible Version) 的部份也請留意,有些語法在舊版的 Ansible 是不被支持的喔!
在 README 頁簽里,可以看到作者寫的說明文件。一般會在 Role Variables 底下列出哪些可以被覆寫的預設變數(shù)。
除了在 Galaxy 網站搜尋 Roles 以外,我們也可以使用 ansible-galaxy search
+ 關鍵字
進行搜尋。
請使用 ansible-galaxy install
+ Role 名稱
來安裝 role,如要自定存放 Roles 的位置,請使用 -p
+ 路徑
,詳情請參考 Download Roles | Ansible Galaxy 一文。
我們可以用 ansible-galaxy init
+ Role 名稱
來建立一個新 role,其檔案結構部份凍仁已在上一章的「Role 的基本結構」介紹過,這里就不詳述了。
以上,您學會怎么使用 Roles 了嗎?下章凍仁將教大家如何利用 Galaxy 上的 Roles 建置 LNMP 環(huán)境。
我們除了可以在 Galaxy 找到現(xiàn)成的 Roles 外,更可借由閱讀前人的 source code 來學習各種知識與技巧。
倘若覺得別人的 Roles 不好使,您就自己寫一個,然后分享出來吧!
更多建議: