Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
高速化&コスト半減!? GitHub Actionsの サードパーティマネージドランナーの比較
Search
Shoichi Ochi
November 14, 2025
1
56
高速化&コスト半減!? GitHub Actionsの サードパーティマネージドランナーの比較
YAPC::Fukuoka 2025 U29セッションの発表資料です
Shoichi Ochi
November 14, 2025
Tweet
Share
More Decks by Shoichi Ochi
See All by Shoichi Ochi
HTTPじゃ遅すぎる! SwitchBotを自作ハブで動かして学ぶBLE通信
occhi
0
1.1k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Building Adaptive Systems
keathley
44
2.8k
A better future with KSS
kneath
239
18k
Context Engineering - Making Every Token Count
addyosmani
9
410
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
980
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Code Review Best Practice
trishagee
72
19k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Transcript
高速化&コスト半減!? GitHub Actionsの サードパーティマネージドランナーの比較 Shoichi Ochi (@occhi) YAPC::Fukuoka 2025
2025-11-14
2 SmartBank, Inc. Software Engineer 越智 翔一 @ochi11181101
@sho-work おち しょういち 自己紹介
3
4 「CI上の自動テスト、高速化したい・・・」 と思ったことありませんか?
5 今回はCI高速化関連の話をします
6 突然ですが、今回のYAPCのプロポーザルを見てみると・・・
7 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c
8 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c 今回の話は・・・
9 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c この部分の話
10 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c ??
11 サードパーティマネージドランナーって何?
12 段階的に解説します!
13 GitHub Actions、使ってますか?
14 GitHub Actions GitHubが提供する、ビルドやテスト、デプロイなどのワークフ ローを自動化できる CI/CDプラットフォーム。 リポジトリへのプッシュなど特定のイベントをトリガーにして、事前 に定義した処理を自動的に実行できる。
15 GitHub Actions Runner ワークフローのジョブを実行する実行環境のこと。 大きく分けて、以下の 3つのランナーがある。 ・GitHub
ホステッドランナー: GitHub提供のランナー。 ・セルフホステッドランナー: ユーザーが自身で用意するランナー。 ・サードパーティーマネージドランナー: 外部のベンダーが提供するランナー。
16 GitHub Actions Runner ワークフローのジョブを実行する実行環境のこと。 大きく分けて、以下の 3つのランナーがある。 ・GitHub
ホステッドランナー: GitHub提供のランナー。 ・セルフホステッドランナー: ユーザーが自身で用意するランナー。 ・サードパーティーマネージドランナー: 外部のベンダーが提供するランナー。
17 今回のトークテーマ サードパーティマネージドランナーの 比較検討・調査をしたのでその共有
18 アジェンダ 1. サードパーティランナーの例 2. カタログスペック比較 3. 実測値の比較 4. まとめ今後の展望
1. サードパーティランナーの例
20 BuildJet ・「1行変更するだけで、ビルド速度が 2倍、コストも削減できます」が謳い文句 ・HPを見ると、有名な海外テック企業から信頼を得ている様子 ・日本のテック企業でも導入実績あり 引用元:
https://buildjet.com/for-github-actions 1. サードパーティランナーの例
21 BuildJet ・同じスペックだと、GitHub ホステッドランナーの半額! 1. サードパーティランナーの例
22 BlackSmith 以下が謳い文句。 ・2倍高速なハードウェア ・4倍速いキャッシュダウンロード ・2~40倍高速なDockerビルド 引用元:
https://www.blacksmith.sh 1. サードパーティランナーの例
23 BlackSmith 2vCPU当たりの価格は、 先ほどのBuildJetと同様に、0.004$/min 引用元: https://www.blacksmith.sh/pricing 1. サードパーティランナーの例
24 その他 ・WarpBuild ・Namespace ・etc… 引用元: https://www.warpbuild.com/ https://namespace.so/ 1.
サードパーティランナーの例
25 1. サードパーティランナーの例 国内事例だとBuildJetとBlackSmithが多かった! 引用元: https://techblog.ap-com.co.jp/entry/2025/08/23/172050 https://ikesyo.hatenablog.com/entry/github-actions-managed-runners https://tech.basemachina.jp/entry/introduction-to-blacksmith
26 この後はBuildJetとBlackSmithをピックアップして比較
2. カタログスペック比較
28 2. カタログスペック比較 ※2vCPUかつ、CPUアーキテクチャはAMDにした場合のものとします ※性能は各社が主張しているものです(GH Runnerは基準とするので x1 にします) ※速度面以外もストレージ容量での利点もあります。(後日ブログに書く予定)
引用元: https://docs.blacksmith.sh/blacksmith-caching/dependencies-actions https://docs.blacksmith.sh/blacksmith-caching/docker-builds https://buildjet.com/for-github-actions/blog/launch-buildjet-cache
29 カタログスペックはいいけど、実際どうなの・・・? 2. カタログスペック比較
30 実際に計測してみよう!
3. 実測値の比較
32 計測時の前提を説明
33 3. 実測値の比較 計測するRunner ・Github Hostedランナー ・BuildJetランナー ・BlackSmith
※ 3つともCPUはAMDかつ、ubuntu22.04を使用するものとする
34 3. 実測値の比較 計測する時間 以下の3つの時間を計測する。 計測回数は それぞれのRunnerにつき5回とし、その平均を取る 。 ・全体の時間 ・CPUバウンドな処理のステップの時間
・Docker Imageビルドのステップの時間
35 3. 実測値の比較 計測する時間 以下の3つの時間を計測する。 計測回数は それぞれのRunnerにつき5回とし、その平均を取る 。 ・全体の時間 ・CPUバウンドな処理のステップの時間
・Docker Imageビルドのステップの時間
36 3. 実測値の比較 計測するワークフロー 以下のステップを実行するワークフローを定義する ・CPUバウンドな処理のステップ ・Docker Imageビルドのステップ
37 3. 実測値の比較 計測するワークフロー ・CPUバウンドな処理のステップ: OpenSSLのSHA-512ハッシュ関数を繰り返し実行する ・Docker Imageビルドのステップ
38 3. 実測値の比較 計測するワークフロー ・CPUバウンドな処理のステップ ・Docker Imageビルドのステップ ※ BlackSmithの場合は[useblacksmith/setup-docker-builder@v1],
[useblacksmith/build-push-action@v2]を使用する 引用元: https://docs.blacksmith.sh/blacksmith-caching/docker-builds
39 3. 実測値の比較 計測するワークフロー ・CPUバウンドな処理のステップ ・Docker Imageビルドのステップ ・使用するDockerfileはこちら ※
BlackSmithの場合は[useblacksmith/setup-docker-builder@v1], [useblacksmith/build-push-action@v2]を使用する 引用元: https://docs.blacksmith.sh/blacksmith-caching/docker-builds
40 3. 実測値の比較 計測条件まとめ 以下のRunnerを対象とする ・GitHub Hosted, BuildJet, BlackSmith
5回計測してその平均を取る。以下の時間を計測する。 ・全体の時間 ・CPUバウンドな処理のステップの時間 ・Docker Imageビルドの時間 ※ 3つともCPUはAMDかつ、ubuntu22.04を使用するものとする
41 計測結果
42 3. 実測値の比較 計測結果
43 3. 実測値の比較 計測結果
44 3. 実測値の比較 計測結果 BlackSmithがGHよりも1mくらい高速!
45 3. 実測値の比較 計測結果
46 3. 実測値の比較 計測結果 こちらもBlackSmithがGHよりも1mくらい高速! BuildJetも30sくらい高速!
47 3. 実測値の比較 計測結果
48 3. 実測値の比較 計測結果 あれ?GHが一番速い・・・?
49 考察してみる🤔
50 3. 実測値の比較 Docker Buildが遅い考察 Dockerfile を見直してみると・・・
51 3. 実測値の比較 Docker Buildが遅い考察
52 3. 実測値の比較 Docker Buildが遅い考察
53 3. 実測値の比較 Docker Buildが遅い考察 パッケージのインストール時や bundle installのNetwork I/Oが原因の可能性がありそう 🤔
54 最後に、カタログスペックと実績を比較
55 3. 実測値の比較 カタログスペックと実績を比較
56 3. 実測値の比較 x2ほどではないけど、高速!
57 3. 実測値の比較 Docker Imageのビルドはあまり変わらない(検証方法が悪かったかも)
58 3. 実測値の比較 ひとまずサードパーティランナーはちゃんと速いことがわかった🎉
59 オチ(occhiだけに!)
60 3. 実測値の比較 オチ スマートバンクでは最終的にこちらを採用😭 (物理マシンを購入することになったため)
61 ちなみに・・・
62 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c 弊社のテスト高速化事例を網羅的にまとめた記事を、 近日弊社ブログにて公開予定!!
4. まとめと今後の展望
64 4. まとめと今後の展望 ・GitHub ActionsのRunnerには大きく分けて3種類ある ・上記の中のサードパーティランナーは速いしコストも削減できる ・余談ですが、BlackSmithはContact取った1分後に返信が来たり、管理画面が充実 していたりと、印象がいいです。 ・デメリットは調べきれなかったので弊社ブログに書く予定!
・キャッシュ機能の検証もできなかったのでする予定
65 4. まとめと今後の展望 今回のリポジトリを公開したので、 良かったら覗いてみてください! https://github.com/org-for-3rd-party-runner/gha-3rd-party-runner
高速化&コスト半減!? GitHub Actionsの サードパーティマネージドランナーの比較 Shoichi Ochi (@occhi) YAPC::Fukuoka 2025
2025-11-14