Ansible 3.0.0
Ansible 釋出 3.0.0 了,之前的版本是 2.10,目前所釋出的 3.0.0 有點特別。 這是新聞稿:Announcing the Community Ansible 3.0.0 Package
為什麼說有點特別呢?
Ansible 2.9 之前,許多的模組跟 plugin 都在 Ansible 專案裡,所以如果模組開發者釋出模組與 plugin 的更新,勢必就要等 Ansible 釋出新版本,使用者才會拿到這更新。
在 Ansible 2.9 之後,Ansible 開發團隊引入 collections ,collection 裡包含了模組、plugin…等等,等於是整理了之前的模組。使用者要使用模組,可以藉由 ansible-galaxy 安裝 collection,就可以得到更新的模組跟 plugin。接下來,Ansible 開發團隊把原本內建的模組跟 plugin (現在是 collections 了) 拆出去成為獨立的 repository,在釋出 2.10 時,才把 ansible-base 與拆出去的 collections 組合起來。
現在新的 3.0.0 則是更進一步,之後 Ansible 會拆為三個部分:
- Ansible core,這個就是之前的 ansible-base,是主要的 language 解譯器跟 runtime。版本號碼會照之前 2.9, 2.10, 2.11 來走。
- Ansible collections on Galaxy,collection 的版本號碼則是由 collection 開發者來決定。
- Ansible community,這個就是前兩者的綜合,大約有 80 幾個 collections,上千個模組跟 plugins。版本號碼變為 3.0.0,也就是這次新聞稿所提到的 Ansible 3.0.0。
好,簡單的說,之後就繼續使用 Ansible community 3.0.0,這就跟之前的 ansible 一樣,有內建的 collection 可以用。有需要使用到更新的 collections ,可以用 ansible-galaxy 來安裝 collection 到 playbook 所在的目錄下。
如果,只使用到幾個 collections,不想裝沒用到的,那就可以裝 ansible-base,然後搭配 ansible-galaxy 來安裝 collections 。
現在二月釋出 3.0.0,依照 Ansible 的 roadmap,很快在五月也要推出正式版的 4.0.0,開發的腳步加快了。 Ansible project 4.0 Roadmap 不過照這樣的速度,很快就會 10.0、11.0,會讓我們這些工程師追版本追到手軟,我希望是可以有 LTS 的版本,讓我們有比較長的緩衝時間可以去適應新版本。