自作の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でもエディタでも)、設定サンプルをコピペします。
私のサンプルはこうなってました。
version: 2.1
orbs:
ruby: circleci/ruby@0.1.2
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再入門」連載一覧
ご参考までに。
最後までお読みいただきありがとうございました!