アイデアとして考えてみた。
Gemの追加、Deviceまわりの設定、dbの設定、RSpecやCapybaraの追加・設定などRailsアプリを作るときに高確率で行う可能性があるタスクを自動的に実行させたい。こういう時はRailsのApplication Template が標準で用意されていますが、個人的にしっくりきてませんでした。Pureなrubyのスクリプトになっているのが嫌で、DSLでもっとシンプルに記述したいのです。
そこで、Ansibleを使うのはどうかと思いました。こんな感じで。
app.yml
- hosts: localhost
vars:
apppath: "{{ansible_env.PWD}}/Hoge"
appname: Hoge
database: mysql
ruby_version: 2.1.5
roles:
- new
- gitignore
- ruby_version
- gem
- bundle_install
- db
- unicorn
- capistrano
- rspec
- timezone
- git_commit
hosts
localhost ansible_connection=local
各roleに設定ファイルのコピーや、書き換えを担当させる。設定内容ごとにディレクトリに切られていて修正がやりやすい&分かりやすいんじゃないのと思いました。
作りかけですが、repoはこちら
konpyu/ansible-rails-application-template