比較
CRACI vs Jenkins
Jenkinsは、お客様自身がインストールし、プラグインで拡張し、運用し続ける自動化サーバーです。CRACIはすべてのビルドを記録するGitHub Actions向けのマネージドランナーで、SBOM、ネットワークポリシー、来歴がビルドそのものから得られます。
更新日
結論
Jenkinsは自らを「業界をリードするオープンソースの自動化サーバー」と称しており、それには十分な理由があります。インストールした場所ならどこでも動作し、提供したマシンの数だけ作業を分散でき、2,300以上のコミュニティプラグインによってほぼあらゆるツールと連携できます。ビルドを完全に自社ネットワーク内にとどめる必要がある場合や、パイプラインが他に代わりのないプラグインに依存している場合、Jenkinsを置き換えるのは困難です。
CRACIは種類の異なる製品です。GitHub Actions向けのマネージドランナーであり、アップグレードすべきコントローラーもパッチを当てるべきエージェントもありません。各ジョブの実行中、CRACIはビルドが取り込むすべての外部依存関係を記録し、ビルドネットワークにエグレスポリシーを適用し、その記録からSBOM、来歴データ、脆弱性の監視を生み出します。Jenkinsでもその一部は、お客様が選び、設定し、最新に保つプラグインで実現できます。CRACIはランナー自体をセキュリティの記録にします。
まず実務上の注意点があります。CRACIが現在対応しているのはGitHub Actionsで、JenkinsとGitLab CIはロードマップに掲載されていますが、時期は未定です。現時点でCRACI上で実行するには、まずJenkinsパイプラインをGitHub Actionsのワークフローに移行する必要があります。
概要
| 機能 | CRACI | Jenkins |
|---|---|---|
| 製品の概要 | GitHub Actions向けのマネージドでセキュアなランナー。 | お客様がホストするオープンソースの自動化サーバー。 |
| お客様が運用するもの | なし。運用すべきコントローラーもエージェントもありません。 | コントローラー、エージェント、アップグレード、プラグイン。 |
| SBOMの生成方法 | 各ジョブが取得したものから記録し、完全性の状態を付与 | お客様が追加するプラグインやツール |
| ビルドのエグレスポリシー | デフォルト拒否または許可、ジョブ前に検証、フェイルクローズ | お客様のエージェント上で自前で構築 |
| 脆弱性の監視 | 監視対象のSBOMを継続的に再評価 | お客様が追加するプラグインやツール |
| CIシステム | 現在はGitHub Actions。GitLab CIとJenkinsはロードマップに掲載 | Jenkinsパイプライン。大半のソース管理にはプラグインで対応 |
| WindowsとmacOS | 現在はx86-64とARM64のLinux | お客様が運用する任意のエージェント |
| 自社マシンでの実行 | お客様ホスト型ランナー、Enterprise | 唯一の選択肢 |
| 拡張性 | GitHub Actionsとそのアクションのマーケットプレイス。 | 2,300以上のコミュニティプラグイン。 |
| 料金 | 1分あたり$0.004(vCPU 1分あたり$0.002)、秒単位の従量課金。月額料金なし、SBOMごとの課金なし。 | 無料のオープンソース。マシンと、それを運用する人員の費用がかかります。 |
- 対応
- 一部対応
- ロードマップに掲載
Jenkinsの強み
必要な場所で動作。Jenkinsはお客様自身のサーバー上、自社ネットワーク内で動作し、SaaSのコントロールプレーンは関与しません。エージェントにはLinux、Windows、macOS、その他接続できる任意のマシンを使えるため、1つのコントローラーでバックエンド、デスクトップクライアント、ファームウェアをビルドできます。
ほぼあらゆる用途のプラグイン。プラグインのエコシステムはJenkinsの最大の強みです。ソース管理、ビルドツール、テストレポート、デプロイ先、セキュリティスキャナーのすべてにプラグインがあり、特殊なツールチェーンを持つチームにとっては、Jenkinsがすでに対応している唯一のCIであることも少なくありません。
ライセンス費用なし。Jenkinsは無料のオープンソースです。費用は、Jenkinsを動かすマシンと、チームが運用に費やす時間です。
CRACIの違い
運用するものがない
Jenkinsの環境は、コントローラー、エージェント、プラグイン、アップグレードを含め、チームが所有するシステムです。Jenkinsプロジェクトはコアとプラグインのセキュリティアドバイザリを頻繁に公開しており、2026年には月に数回(例:9月2日と16日、8月5日)公開されています。その一つひとつの適用はお客様の仕事です。CRACIはジョブをマネージドランナー上の分離された仮想マシン(ジョブごとに1つのVM)で実行するため、お客様がパッチを当てるビルドサーバーはありません。
SBOMはビルドから得られる
Jenkinsでは、SBOMはお客様が追加するプラグインやスキャナーのステップから得られ、それらは通常、事後にマニフェストとロックファイルを読み取ります。ビルドはこれらのファイルが示す以上のことを行うことがよくあります。インストールスクリプトはコードをダウンロードし、ビルドスクリプトはビルド時に取得を行い、キャッシュはどのロックファイルにも記載されていないパッケージを復元します。CRACIはランナーそのものであるため、その通信を把握できます。パッケージを認識するプロキシが、npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk、Gitの各ソースにわたって、各ジョブがパッケージソースから取得したものを記録し、依存関係のエビデンスはCIキャッシュと一緒に引き継がれます。CycloneDXまたはSPDXの各SBOMには、ジョブごと・キャッシュごとにどの程度完全かが示されます。
ビルドネットワークに対するポリシー
Jenkinsでは、ビルドがアクセスできる先を制御するには、エージェントの周囲にファイアウォールルールやプロキシを設ける必要があり、その設計と保守はお客様が行います。CRACIでは、各ジョブのエグレスポリシーがアクセスできるホストを決定します。デフォルト拒否またはデフォルト許可で、24種類の組み込みソフトウェアソースプリセットと型付きカスタムソースを備え、ジョブの開始前に検証されます。ポリシーはフェイルクローズで動作し、違反時にはアラートが送信されます。
出荷したものの監視
APIはSBOM、ネットワークトレース、来歴を返します。CRACIはビルドとリポジトリをまたいで脆弱性を集約し、アドバイザリが公開されるたびに監視対象のSBOMを再評価し続け、脆弱な依存関係を含んでいた過去のビルドを示します。そのため、影響を受けていた期間を把握できます。
ビルド時間に応じた料金
Jenkinsにはライセンス料がありませんが、運用が無料なわけではありません。アイドル中か稼働中かにかかわらずコントローラーとエージェントの費用がかかり、それらを最新に保つ人員の費用もかかります。CRACIが課金するのはビルド時間のみです。vCPU 1分あたり$0.002(デフォルトの2 vCPUランナーでは$0.004)、秒単位の従量課金で、月額料金もSBOMごとの課金もありません。
どちらが適しているか
- Jenkinsを使い続けるのが適しているのは、ビルドを完全に自社インフラ上で実行する必要がある場合、GitHub Actionsに相当するもののないプラグインに依存している場合、WindowsやmacOSのビルドが必要な場合、あるいは運用する人員がいて問題なく動いている場合です。
- CRACIを選ぶのが適しているのは、コードがGitHub上にあり、パイプラインをGitHub Actionsへ移行中か移行の準備ができていて、ビルドサーバーの運用をやめつつ、各リリースの中身の記録を得たい場合です。
- 段階的な移行の間は両方を使うこともできます。新しいプロジェクトとLinuxパイプラインはCRACI上のGitHub Actionsへ移し、安定しているJenkinsジョブはそのまま残します。
現時点でCRACIを選ぶことで手放すものも明確にしておきます。CRACIが実行できるのはLinuxジョブのみで、WindowsとmacOSはロードマップに掲載されています。お客様ホスト型ランナーはEnterprise向けにロードマップに掲載されています。また、Jenkinsへの対応が実現するまでは、JenkinsパイプラインをGitHub Actionsのワークフローに移行する必要があります。
規制対象の製品向け
EUのCyber Resilience Actなどのフレームワークは、メーカーが各リリースの中身を把握し、その脆弱性に対処することを求めており、2026年9月から報告義務が適用されます。Jenkinsでは、そのエビデンスは各パイプラインに組み込んだプラグインやスキャナーから得られます。CRACIはビルドの記録からエビデンスを生成し、SBOMをCycloneDXまたはSPDXでエクスポートします。企業がより広範なCRAのプロセスで必要とするソフトウェアサプライチェーンの可視性とエビデンスのかなりの部分を自動化しますが、どちらのツールも、それだけで製品をコンプライアンスに適合させるものではありません。
パイプラインをCRACIへ移行する
GitHub自身が提供するGitHub Actions Importerは、JenkinsパイプラインをGitHub Actionsのワークフローに変換します。GitHubは各ワークフローの80%を自動変換することを目標としており、変換したワークフローは本番環境で実行する前にすべて確認すべきだとしているため、ある程度の手作業を見込んでおいてください。パイプラインがGitHub Actionsのワークフローとして動作すれば、1行の変更でCRACI上で実行できます。
runs-on: craci
実行結果は引き続きGitHubのUIに表示されます。詳しくはビルド時SBOM生成をご覧いただくか、Jenkinsの代替ツール、CI/CDプラットフォームの比較、料金をご確認ください。
パイプラインを1つ移行して比較
JenkinsのジョブをCRACI上のGitHub Actionsワークフローに1つ移行し、そのSBOMとネットワークトレースを、現在Jenkinsから得られる情報と並べて比較してください。
デモを予約