GithubMarketPlaceからCircleciを導入してみたら、初めてだったたけど意外と簡単に、しかも無料で自動テスト・コード解析環境が作れて「最高かよ」という気持ちになった💪
ちなみに構築した環境は下記のような感じで、普通のrailsアプリケーションです🚋
key | val |
---|---|
Langage | ruby 2.5 |
Framework | rails 5.2 |
Database | posgresql |
Testing Framework | rspec |
Code analyze | rubocop |
やり方メモ📝
GithubMarketPlaceでCircleciを導入する
まずはここから、Circleci
を導入しましょう!
github.com
こんな感じでcircleci
を検索して、、、
私はもう導入済なので、「Edit your plan」となってしまってますが、「Setup a plan」になっていると思います🙌
クリックしたらcircleciの導入は完了です!
circleciにプロジェクトを追加する
circleciの導入が完了したら、次はリポジトリを紐付けます! Add Projectから自分のリポジトリを追加しましょう!
circleci/config.ymlを作成する
リポジトリを追加したら、下記コマンドを実行してcircleciの設定ファイルを作成します。
$ mkdir circleci $ touch circleci/config.yml
config.yml
の中身は私は下記のように設定しました。
version: 2 jobs: build: docker: - image: circleci/ruby:2.5.1-node-browsers environment: RAILS_ENV: test PGHOST: 127.0.0.1 - image: circleci/postgres environment: POSTGRES_USER: circleci working_directory: ~/repo steps: - checkout - restore_cache: keys: - v1-dependencies-{{ checksum "Gemfile.lock" }} - v1-dependencies- - run: name: install dependencies command: | bundle install --jobs=4 --retry=3 --path vendor/bundle - save_cache: paths: - ./vendor/bundle key: v1-dependencies-{{ checksum "Gemfile.lock" }} # Database setup - run: bundle exec rake db:create - run: bundle exec rake db:schema:load # run tests! - run: name: run tests command: | TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)" bundle exec rspec $TEST_FILES - run: name: run code analyze command: bundle exec rubocop
結果を確認する
circleci/config.yml
を作成したら、いよいよリポジトリにpushします(・∀・)
そうすると、、、
おおー、無事にコミット時にrspecとrubocopが実行されてますね🌟
おわりに
どうですかね?私はあまりこういう環境とか作ったことなかったんですが、結構簡単に作れてびっくりしました👀
circleciで自動テスト+コード解析して、本番環境にHerokuを使えばGithubのブランチと同期させて自動デプロイとかいう環境が無料で作れるとか、個人開発がはかどりますね😇!