3つのリポジトリ
Webアプリのソースコードを管理するリポジトリ
- 当然必要になります。
Vagrant設定ファイルを管理するリポジトリ
- 開発環境用Vagrantの設定(Vagrantfile)を管理します。
- synced_folderの機能をつかって、Webアプリのソースコードを開発環境内に同期してます。
- Provisioningは後述のAnsible Playbookを参照する形で実施しています。
AnsibleのPlaybookを管理するリポジトリ
- 本番環境や、開発環境用Vagrantの構成を管理。
- 開発しようとしているWebアプリ固有ではないRoleについては、Ansible Galaxyで公開されているものを有効活用させてもらってます。
思ったこと
- Vagrant設定ファイルは「Webアプリのソースコードを管理するリポジトリ」で管理してしまってもいいかも。
- でも、役割はそれぞれ違うものなので、別のリポジトリで分けたい。
- Ansibleの各Roleを異なるリポジトリで管理して、他のWebアプリ開発においても再利用できる状態が理想。