既存RailsアプリにCircleCIを導入した手順


自作のRailsアプリにCircleCIを使ってCI/CDを導入しました
今回は、CircleCIとGitHubとの連携までを行います。

自動化したいこと

  • テスト
  • コード解析
  • デプロイ

ただ、今回は導入しか行いませんので、正直以上の3つは関係ありません。

CircleCIを採用した理由

  • 無料プランがついている
  • メジャーどころっぽい
  • 日本語の資料が多い(死活問題)

1. アカウント取得・連携

やることは以下の3つ。

  • CicleCIに登録
  • GitHubと連携(登録と同時にできる)
  • CircleCIを導入するアプリ(リポジトリ)を選ぶ

CircleCI公式(英語)でSignUpします。
基本的には画面の指示に従っていたら間違いないはずです。

英語じゃねえか... と心が折れかかりますが、私でもなんとかなったので多分大丈夫です。
少し時間が経っていて画面デザインが少し違いますが、次のブログは参考になります。
【CircleCI】CircleCI 2.0からはじめる個人での簡単なCI導入方法 - githubとの連携まで

CircleCIを導入するアプリを選んだら、ブランチを作って設定ファイルを自動で作ってあげるよ!と言ってくれますが、私は勉強も兼ねて自分で作りました。

2. 設定ファイルを作成する

CircleCIに登録後、表示されたconfig.ymlのサンプルをコピペします。

その前に、コピペ先を導入アプリのルートディレクトリにフォルダと設定ファイルを作成します。

$ cd ~/Rails_App
$ midir .circleci
$ touch .circleci/config.yml

作成したconfig.ymlを開いて(vimでもエディタでも)、設定サンプルをコピペします。

私のサンプルはこうなってました。

config.yml
version: 2.1
orbs:
  ruby: circleci/[email protected] 

jobs:
  build:
    docker:
      - image: circleci/ruby:2.6.3-stretch-node
    executor: ruby/default
    steps:
      - checkout
      - run:
          name: Which bundler?
          command: bundle -v
      - ruby/bundle-install

試しにpushしてみます。

$ git add -A
$ git commit -m "CircleCIの設定ファイルを追加"
$ git push origin master
or
$ git push origin branch-name

開発ブランチなどで作業していた場合は、GitHubでプルリクエストします。

CircleCIのダッシュボードを確認し、pushに反応してアイコンがグルグルしていると思うので、待ちます。

少し待つと(私の環境で3分)SUCCESSとなるので、
こうなったら、CircleCIとGitHubとの連携は完了です。

導入完了

これからは自動化したいことによって、.circleci/config.ymlを書き換えていきます。

Railsの場合は、公式が日本語ガイドを用意してくれています。
言語ガイド

CI/CDの概略やCircleCIの設定ファイルを優しく解説してくれている
ネット記事もありました。
「エンジニアのためのCI/CD再入門」連載一覧

ご参考までに。

最後までお読みいただきありがとうございました!