Cloudflare、開発工程を自動化する「CI SDK」を発表――TypeScriptによる記述やAI自動修復に対応
要点
- Cloudflareは、同社の開発者向けプラットフォーム上でテストやビルドといった開発工程を自動化する「CI SDK」を発表した。
- コードがプッシュされたイベントを直接検知し、安全に隔離された実行環境で自動的にCIジョブを起動できるようになる。
- 開発工程の定義ファイルには従来のYAMLではなくTypeScriptを使用し、依存関係のキャッシュや各処理の並列実行により処理速度を向上させる。
- AIエージェントとの連携により、ビルドエラーが発生した際に自動でコードを修正してリポジトリにコミットをプッシュする「自己修復機能」も実現可能だという。
リード文
米Cloudflare(クラウドフレア)は2026年8月4日(現地時間)、同社の開発者向けプラットフォーム上でアプリケーションのビルドやテスト、デプロイ(サーバーなどの本番環境へ配置して公開すること)といった一連の工程を自動化するCI/CDパイプラインを実行できる「CI SDK」を発表した。同プラットフォームのタスク自動化機能「Cloudflare Workflows」上に構築されており、コードがリポジトリに追加されたことを契機として自動的に実行環境が立ち上がる。これにより、コードの保管からテスト、公開までの全工程をCloudflare上で完結できる環境が整いつつあるという。
Cloudflare上で完結する開発環境の構築へ
Cloudflareは、開発者がプログラムの保存から構築、テスト、配信にいたる開発サイクルを同社サービス内のみで完全に実行できる世界の実現に向けて注力している。同社はまずその最初のステップとして、数百万規模のリポジトリ(コードの保管場所)を格納でき、バージョン管理にも対応したストレージ「Artifacts(アーティファクツ)」を提供してきた。
今回の発表では、この「Artifacts」におけるコードの保存、構築、デプロイという個々のステップをシームレスに結合する仕組みとして、オープンソースの「CI SDK」が新たに提供されることとなった。このSDKは、サーバーレスで記述した一連の処理の流れを制御する仕組みである「Cloudflare Workflows」の基盤を活用して動作する。
プッシュをきっかけとする自動実行と動作内容
開発者は、Cloudflareの開発者向けコマンドラインツール「wrangler(ラングラー)」の設定ファイルに新設された「events」フィールドを設定するだけで、コードがプッシュされたイベント(artifact push)を直接Workflowsへ送信できるようになる。これにより、従来のようにイベントの仲介用システムやデータ一時保管用のキュー(待ち行列)などを個別設定する必要がなくなり、プッシュと同時にCIジョブが自動起動する。
プロジェクトに専用のパッケージである @cloudflare/ci をインストールすると、開発工程内で以下の機能が利用可能になる。
- ビルドの自動化: Artifactsからコードを取り込み、サンドボックスと呼ばれる安全に隔離された仮想的な実行環境でコンパイルを行う。
- 検証作業の実施: リンター(ソースコードを静的に解析してバグや記述ルールの違反を検出するツール)や型チェックを実行し、コードの書き方を統一しつつ潜在的なバグを検知する。
- 依存関係のキャッシュ: 外部パッケージなどの導入処理(インストール)を一度実行した後はその結果を一時保存(キャッシュ)し、ジョブ内の他のステップへ引き渡す。
- ユニットテストの実行: プログラムの最小単位(関数など)が仕様通りに動作するかを確かめるユニットテスト(単体テスト)を実行する。
- 自己修復機能: エラーが発生した際にAIが自動で修正コミットを送信する仕組みを組み込める。
- 条件付きデプロイ: テストやビルドの工程がすべて成功した場合に限り、自動的にデプロイへ進む。
プラットフォーム事業者へのメリットと柔軟な設計
現在、社内向けの自動プログラミング環境や、自社サービスを顧客向けにカスタマイズさせるための基盤などにおいて、Artifactsに数百万個のリポジトリを配置してバージョン管理を行うプラットフォーム事業者が増加しているという。
これらプラットフォームの運営者は、このCI/CD(コード変更に付随するビルドやテスト、デプロイを自動化する手法)の処理を一度記述すれば、顧客が開発するすべてのアプリケーションで共有し、顧客に代わってビルド工程を一元管理することが可能になる。顧客側はビルド環境の複雑な管理から解放されるメリットがある。
さらに、顧客自身が独自のテスト項目を追加したい場合には、個別にWorkflowを記述して自らのリポジトリだけでカスタムのCIジョブを実行することもできる。これは「Dynamic Workflows」と呼ばれる動的なワークフロー機能によって実現されており、プラットフォームが管理する標準パイプラインと、顧客独自のパイプラインが同じ動作領域内で干渉することなく並行して動作可能だとしている。
TypeScriptの採用による簡素化と高速化
従来のCI/CDツール(GitHub Actionsなど)では、手順の定義にYAML(データを記述するための構造化テキスト形式)がよく使われていたが、設定が複雑になるにつれて「YAML疲れ」と呼ばれる記述上の問題が生じがちだった。
本SDKでは、記述言語としてTypeScript(JavaScriptを拡張し、型定義を追加してエラーを防ぎやすくしたプログラミング言語)を採用した。これにより、条件分岐や設定変更をプログラムコードとして柔軟に記述できるようになり、複雑な手順もWorkflowsの実行単位である step.do() として単純に変換できるようになった。
また、安全な実行環境を提供する「Sandbox SDK」との連携により、以前のように開発者がサンドボックス用APIを直接呼び出して各ステップ間の状態を管理する必要がなくなった。Workflowsに組み込まれている自動再試行(リトライ)や処理時間切れ(タイムアウト)の機能をそのまま利用できる。
処理速度の向上にも配慮されており、パッケージのインストール結果をキャッシュすることで、不要な再インストール作業を排除した。キャッシュされた依存関係をもとにして、ビルド、テスト、リンター、型チェックといった工程を並列で実行でき、全体の実行時間を削減できると説明している。
定義の手順と自己修復
開発者は、以下のような手順でCIジョブを定義する。
- バンドラー(複数のプログラムや画像などのファイルを1つにまとめるツール、例:esbuild)やリンター(例:eslint)、テストツール(例:vitest)といった依存関係をインストールするステップを記述し、キャッシュするファイルを設定する。
bun run buildなどの各コマンドを実行するステップを記述する。依存関係のキャッシュにより、これらのステップは並列で処理される。- デプロイ用コマンドを記述したステップを追加する。これらが成功すると、自動的に製品の公開が行われる。
このワークフロー内にAIエージェントの呼び出しを組み込むことで、ビルドに失敗した際にAIがエラー原因を特定してコードを修正し、開発者の承認用のコミットとして自動でプッシュさせることができると、Cloudflareは案内している。