Server

CircleCIを使ってみた(RailsのRSpecとデプロイのサンプル)

投稿日:2018年6月4日 更新日:

はじめに

個人的に作成しているアプリケーションの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構築に時間をかけられない場合にお勧めします。

テストとデプロイでジョブを切ったりもできるようなので、ぜひお試しください。

blog-page_footer_336




blog-page_footer_336




-Server
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

Conohaのサーバーを借りて、CentOS+MySQL+nginxの環境を作ってみた。

1 はじめに1.1 環境2 Conohaでサーバーをレンタル3 サーバーの初期設定3.1 サーバーにrootユーザーでログイン3.2 ユーザー作成3.3 SSHログインを許可3.4 秘密鍵を生成3.5 ...

MySQL 5.7 オプティマイザの改善〜UNION ALL〜

1 はじめに2 「UNION」と「UNION ALL」の違い3 MySQL 5.7での「UNION ALL」の改善とは4 MySQL 5.7での実行計画4.1 UNION ALL実行計画4.2 UNI ...

WordPressとRailsアプリケーションを相乗りさせた時の話

1 はじめに1.1 前提条件2 サブドメインを設定する3 Nginxの設定3.1 ステージング環境用の設定3.2 ステージング環境の設定を読み込ませる3.3 Nginxの再起動4 SSL化する4.1 ...

InnoDBでauto_incrementの値が戻る?

はじめに 花粉症が辛い季節になりました。 花粉症も困りますが、本日はMySQL関連で困って調べたことをまとめたいと思います。 タイトルですが、InnoDBだとDBを再起動した際にauto_increm ...

[CentOS7] systemdにサービスを登録して、サーバ起動時に自動でサービスを立ち上げる

1 はじめに2 chkconfigについてざっくり3 前提4 起動スクリプトを作成する5 Unitを定義する6 EnvironmentFileを作成する7 確認と設定7.1 systemdで管理できる ...

フォロー

follow us in feedly

blog-page_side_responsive

2018年6月
 12
3456789
10111213141516
17181920212223
24252627282930

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。
Get it on App Store
Get it on Google Play