はじめに
個人的に作成しているアプリケーションのCIツールとして、CircleCIを使用しています。
1コンテナであれば無料で使えるようなので、個人制作でCIにあまり時間が使えない場合は重宝します。
今回は単純ですが、RailsアプリケーションのRSpec実行とCapistranoによるデプロイを設定したファイルを記載したいと思います。
導入するにあたって
CircleCIに関する記事は多く存在するので、ここでは詳細は割愛させていただきます。
ただ、導入した際に、私が感じたことをメモ程度でまとめておきます。
- GithubかBitbucketを使ってログインすると、関連するリポジトリを参照してくれるので初期設定がかなり楽。
- プロジェクトを作成すると、言語が選択できる。選択後、CircleCIの方でサンプルを表示してくれる。正直、それをコピペして作ればできる。
- 初期設定では、全てのコミットでCIが起動してしまうので、ある程度条件は絞った方が良いかも(全てでも良いのかもしれませんが、時間で制限もあるので。)。
- Dockerコンテナを使ってCI環境を作るので、Dockerを少しかじっておくとなんとなく理解できる。
項目B
補足
開発環境とCI環境でdatabase.ymlが異なる
横着しただけですが、開発環境のMySQLのログインパスワードと、CI環境のログインパスワードが違う場合、
database.yml
も変わるかと思います。
(合わせれば良いだけの話ですが。)
環境変数を使う方法もあるようですが、私は
database.yml.ci
というファイルを作成して、コンテナ生成時に本来の
database.yml
と入れ替えるようにしました。
上のコードでいうと、下記の部分です。
さいごに
冒頭でも書きましたが、CircleCIはかなり導入コストが低いため、あまりCI構築に時間をかけられない場合にお勧めします。
テストとデプロイでジョブを切ったりもできるようなので、ぜひお試しください。