質問: デプロイ/プロビジョニング用のファイルの管理について良い方法(アイデア)を教えてください プロジェクトごと、案件ごとの - CapistranoのCapfileやdeploy.rb - Chefのcookbook (Ansibleのplaybook) - Serverpecの*_spec.rb といったデプロイ/プロビジョニング用のファイルをどのように管理されていますか? もしくはどのように管理するのが良いと思いますか? 「プロジェクトのソースコードのリポジトリ内で一緒に管理している」とか、はたまた「プロジェクトを横断して全部まとめて管理している」など、参考になる意見をお待ちしております。 その際に、採用している方法(良いと思う方法)についてメリットとして感じていること、デメリットとして感じていることもお聞かせください
回答: いろいろ試行錯誤しつつ、変更しつづけてたりするけど、現状を回答してみます。 ちなみに、fabric/ansible/serverspec を使っております。 各プロジェクト毎に、アプリケーションとは別に server という名前でリポジトリを別(または、Subversion ならディレクトリを別) にして管理してます。 で、その中身は、 * fabfile/ * ansible/ * serverspec/ * ssh.config みたいな構成になってます。 fabric や ansible については、どのプロジェクトでも共通な部分は、 できるだけ社内共通ライブラリにまとめて、pip でインストールして使う、みたいな感じになってきています。 たとえば、ansible の module や、fabric のタスク( ) とか。 どのプロジェクトでも上記構成で統一されていると、 どこになにがあるかわかるのはいいですよね。 共通な部分をまとめてライブラリ化するのは、 全体を見てて、かつ「良い塩梅」でまとめてくれる人が必要かと思います。 ( 僕はあまりやれません... ) 回答になってますでしょうか?