総評
とにかく手軽に使う
→ bash
手軽に使う、ファイル操作やデバイスの接続確認などちょっと汎用的な処理も入る
→ Fabric
ガッチガチに環境を固める、パッケージや環境のセットアップがメイン
→ Ansible,caspitrano
あたりなのかな、という印象。
デプロイツールの比較表
評価項目 | bash | capistrano/ puppet/ chef |
fabric(python2) | fabric(python3) | Salt |
---|---|---|---|---|---|
記述の簡潔さ | 煩雑 | 簡潔 | 簡潔(Python) | 簡潔(Python) | ? |
エラー処理 | 弱い | できる | できる | できる | - |
冪等性 | 弱い | できる | できる※ | 弱い | - |
デプロイ対象での準備 | 不要 | ? | 不要 | 不要 | - |
枯れ具合 | ほぼノーメンテ | ものによる | ほぼノーメンテ | ほぼノーメンテ | - |
得意分野 | ファイル操作 | パッケージなどの管理? | ファイル操作 汎用的な操作 |
ファイル操作 汎用的な操作 |
- |
※ Fabric1.xでは可能。Fabric2.xではcuisineが対応しないため不可。
Githubのスター数では、
Ansible, Cspitrano, Fabricに関してはほぼ同じ10k強。
Chefは6kほど。
Fabricについて
Fabrci1.x とFabric2.xの間で破壊的なAPIの変更が行われている。
Python3への対応が遅れており、Python3の公式FabricでCuisineを利用する術がない。
Python2のサポート期限が来月の2020年4月まで迫っており、今からPython2を利用するはちょっと苦しい。
python2対応 | python3対応 | cuisine対応 | |
---|---|---|---|
Fabric1.x | ○ | × | ○ |
Fabric2.x | ○ | × | × |
Fabric3 (非公式フォーク) |
○ | ○ | ○ |
Fabricが知名度の割に開発安定してなさそうで残念だったけど、OSSはこんなもんなのかな・・・。
参考
https://www.slideshare.net/greenasparagus/ss-42424543
https://qiita.com/acro5piano/items/19a5f4c0ae729aae756b