コンテンツにスキップ

BuildJet で GitHub Actions の費用を半分にする

はじめに

BuildJet は GitHub Actions の runs-on で指定すると同等のマシンスペックの費用が半分になるサービス。マシンスペックを柔軟に設定でき、AMD と ARM の両方の CPU を利用できる。

使い方

GitHub Actions の runs-on で指定する runner tag を buildjet-XXXX-ubuntu-2204 に変更する。M1 Mac を使いたい時はサポートに連絡をする必要がある。

1
2
3
4
5
6
7
8
9
name: Test Suite
on: push
jobs:
  test:
-    runs-on: ubuntu-latest
+    runs-on: buildjet-4vcpu-ubuntu-2204
    name: Test
    steps:
      - uses: actions/checkout@v3

キャッシュを使う場合は次のようにする。

1
2
3
4
5
6
7
- - uses: action/cache@v3
+ - uses: buildjet/cache@v3
  with:
    path: ~/.npm
    key: buildjet-node-${{ hashFiles('**/package-lock.json') }}
    restore-keys: |
      buildjet-node-

node、Rust、PHP のような各プログラミング言語とフレームワークごとにキャッシュをどのように setup するかがある。

マシンスペックと値段

AMD

vCPU RAM runner tag price
2 8GB buildjet-2vcpu-ubuntu-2204 $0.004 / min
4 16GB buildjet-4vcpu-ubuntu-2204 $0.008 / min
8 32GB buildjet-8vcpu-ubuntu-2204 $0.016 / min
16 64GB buildjet-16vcpu-ubuntu-2204 $0.032 / min
32 64GB buildjet-32vcpu-ubuntu-2204 $0.048 / min

通常の GitHub Actions の runs-on で ubuntu-latest を指定した場合は 2vCPU と 8GB のマシンが割り当てられる。この場合の費用は 1 分あたり 0.008 ドルとなるので、BuildJet を利用すると半分の費用で同等のマシンを利用できる。

ARM

vCPU RAM runner tag price
2 3GB buildjet-2vcpu-ubuntu-2204-arm $0.004 / min
4 6GB buildjet-4vcpu-ubuntu-2204-arm $0.008 / min
8 12GB buildjet-8vcpu-ubuntu-2204-arm $0.016 / min
16 24GB buildjet-16vcpu-ubuntu-2204-arm $0.032 / min
32 48GB buildjet-32vcpu-ubuntu-2204-arm $0.064 / min

制限

BuildJet のアカウントにつき、64 の AMD vCPU もしくは 32 の ARM vCPU を同時実行できる。この制限を超える実行はできないが、アカウントを拡張して月 300$の追加料金で AMD または ARM の容量を 100vCPU 増やすことができる。