- 公開日
CircleCIのベースイメージを次世代イメージ cimg に移行する
2020年にCircleCIの次世代イメージ・cimg が登場しました1。
個人のRuby on Railsプロジェクトで、従来のcircleci/rubyから次世代イメージであるところのcimg/rubyに移行してみたので紹介します。
ベースイメージの変更
circleci/ruby
から cimg/ruby
へ変更します。
executors:
default:
working_directory: ~/app
docker:
+ - image: circleci/ruby:2.7-node-browsers
- - image: cimg/ruby:2.7-browsers
CircleCI 公式 Orb の利用
今回の変更とあわせて、下記2つのCircleCI公式Orbも導入しました。
orbs:
ruby: circleci/ruby@1.1.2
browser-tools: circleci/browser-tools@1.1.3
RSpec の実行
上述のOrbを有効活用することで
- bundle Install
- chromedriverインストール
- rspecの実行
のstepを下記のようにシンプルに記述することが可能になります。
rspec:
executor: default
steps:
- checkout
- ruby/install-deps
- browser-tools/install-chrome
- browser-tools/install-chromedriver
- run: bin/rails db:schema:load --trace
- ruby/rspec-test
rubocop の実行
rubocop の実行も同様に circleci/ruby
Orbに組み込まれており、簡単に実行できます。
rubocop:
executor: default
steps:
- checkout
- ruby/install-deps
- ruby/rubocop-check
最終形
実際に circleci/ruby
から cimg/ruby
へと移行した Pull Request の全体像としては下記のようになります。
Migrate CircleCI image from circleci/ruby to cimg/ruby by toshimaru · Pull Request