LoginSignup
4
1

More than 3 years have passed since last update.

CircleCIに新しいDockerイメージ cimg が使えるようになったらしい!

Posted at

cimgとは

CircleCIの次世代convenience imageとして新しいDockerイメージが登場しておりました。
より安定性とキャッシュ効率について考えられています。

詳細はこちらのリンクを確認ください。
https://circleci.com/blog/announcing-our-next-generation-convenience-images-smaller-faster-more-deterministic/

登場したわけ

「circleci/node」はnodeのDockerfile+CircleCIのライブラリ?で構成されています。
そのため、nodeに破壊的な変更が加わると「circleci/node」がうまく起動しないことが発生しました。
それを防ぐために登場したものがcimgのイメージです。
※間違っていましたらご指摘お願いします

検証

どれくらいキャッシュ効率がいいのか試してみました。
各Nodeのイメージを使用するまでのpull時間を計測します。
(circleci側でキャッシュしているだろうという前提)

  • build-node
    • Dockerイメージ:Node
  • build-circleci_node
    • Dockerイメージ:circleci/node
  • build-cimg_node
    • Dockerイメージ:cimg/node

検証結果

数回実施しましたが平均的に以下のような結果になりました。

スクリーンショット 2020-06-04 9.08.34.png

まとめ

「circleci/node」,「cimg/node」ともに早すぎてこれ以上差がつかないのかもしれない!?
登場したわけを聞いた時、今後の利用はcimg系の利用が必須ではないかなと思い、この記事を書きました。
こちらの情報(cimg)はCircleCIのユーザーコミュニティイベントで初めて聞きましたので、機会があればまた参加して色々聞いてみようかなー
皆さんもぜひこちらに参加してみてください。

では、よいCI/CDライフを!!

検証に利用したソース

ちなみに、検証に使用したソースはこちらです。

config.yml
version: 2
jobs:
  build-cimg_node:
    docker:
      - image: cimg/node:12.16
    steps:
      - checkout
      - run: node --version
  build-circleci_node:
    docker:
      - image: circleci/node:12.16
    steps:
      - checkout
      - run: node --version
  build-node:
    docker:
      - image: node:12.16
    steps:
      - checkout
      - run: node --version
workflows:
  version: 2
  build_and_test:
    jobs:
      - build-cimg_node
      - build-circleci_node
      - build-node
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1