CircleCI のリソースクラスを上げる

2023/07/25に公開

注意点

この記事で紹介する resource_class が指定できるのは年間契約プランの場合のみなので注意。

はじめに

CircleCI ではジョブ単位で CPU 使用率を確認できる。最大値が 100% に張り付くなど、過剰に高い場合は通常のマシンと同様、処理速度の遅延が見込まれるため、使用率は適切な値を維持したい。
そこで今回はジョブのリソースクラスを指定する方法を紹介する。ただし後述の通り、リソースクラスを上げると消費クレジットも増加するため、その点は注意されたい。

現在のリソースクラスを確認する

CircleCI の Web アプリのジョブの詳細を見ればよい。
Insights > Project 名 > Job 名 とたどり、 JOBS のタブを開くと Resource usage が見られる。

https://circleci.com/docs/ja/resource-class-overview/#find-the-resource-class-used-for-a-job

リソースクラスの一覧はこちら。

https://circleci.com/ja/product/features/resource-classes/

当然だがサイズを上げると一分あたりのクレジットが上がるため、事前にコストを見積もるのがベターだろう。
Docker の場合、 Small から Medium5credits/min から 10credits/min と倍増する。

実際にリソースクラスを指定する

ワークフロー定義の中でジョブの resource_class キーを指定する。

なお、以下のように path-filtering を使った書き方でも指定できるようだ。

orbs:
  path-filtering: circleci/path-filtering@0.1.3

workflows:
  version: 2
  check-path-filtering:
    jobs:
      - path-filtering/filter:
          config-path: .circleci/workflow.yml
          resource_class: medium

Discussion