新サービスのたちあげで、プロビジョニングツール(ChefとかAnsibleとか)のテストを継続的にやりたいなーと思っていたので、環境を作ってみたという話です。 やりたいことは以下。 ChefなりAnsbileでサーバプロビジョニングの内容をコード化 特定のトピックブランチ上でそれらが開発され、リモートレポジトリにpush そのレポジトリ上のプルリクをトリガーに、Jenkinsへフック Jenkinsに作っておいたCI用のジョブが走り、docker build build後serverspecが走り、テスト 結果を通知 色々やりかたはあると思いますが、今回は↑のフローを想定して、設計をしました。今回はAnsbileを使ったので、Ansibleの説明となります。 Docker まずCI環境用にDockerの環境を作ります。 Ubuntu用ドキュメント、CentOS用ドキュメント、Mac用ドキュ