_______________________
< Ansibleのプロジェクト間共有 >
 ­­­­­­­­­­­­­­­­­­­­­­­
           ^__^
           (oo)_______
            (__)       )/
                ||­­­­w |
                ||     ||
2014.6.10
Ansible 勉強会 #1 リモート会場
@yteraoka
http://blog.1q77.com/
これ書きました
http://yteraoka.github.io/ansible-tutorial/
Ansible には Best Practices という
ディレクトリ構成が存在します
Simple な構成の場合には
これで問題ありません
(Web, App, DB 1セットなど)
が
沢山のサービス、プロジェクトを
管理する場合
せっかくなので Role は
できるだけ共有したい
けれども
あまり、汎用度を上げて template
と変数で頑張り過ぎると更新が
難しくなります
(たとえば、通常のサービス用Apacheとホスティング用
Apacheはちょっと違いますよね)
かといって、特定のサービス、
プロジェクトに特化した Role を
沢山並べるのも嬉しくない
共有 Role と個別 Role が並列に
並ぶとどれが共有されているのか
わからないし変更時の影響範囲
が不明で不安
単一のディレクトリに沢山のインベン
トリ
ファイルを置いたり、沢山のPlaybook
を
置くのも避けたい
誤って実行したりしたら・・・
これらへの解がなかなか
見つからなくて
導入を躊躇していましたが
見つけました
roles:
- role: ../common-roles/base
- role: ../common-roles/httpd
- role: xx-config
- role: crontab
サービス、プロジェクト毎に
Best Practices 構成を取り
共通 Role を外だしにすることで
共有されていることは明確になり
サービス、プロジェクト特化の
Role も書き放題
Qiitaに投稿済みでした、使い回しです
________
< thanks >
--------
 ^__^
 (oo)_______
(__) )/
||----w |
|| ||

Ansible role のプロジェクト間共有