
Drone CIは2014年にアメリカの開発者ブラッド・ライズウスキ(Brad Rydzewski)が公開した、Goで書かれた軽量CIサーバーです。「すべてのビルドステップをDockerコンテナで実行する」という、当時としては前衛的な設計をいち早く採用し、yamlでパイプラインを宣言する .drone.yml 形式を提唱しました。2017年にDrone社として法人化、2020年11月にHarness社に買収され、現在はHarness CI(旧Drone)としてOSS版と商用版が並走しています。セルフホストCIサーバーの選択肢として根強い人気を持つツールです。
この記事の目次
- 全ステップがコンテナで動く設計
- 個人プロジェクトから商用化まで
- セルフホストCIとしての魅力
- GitHub ActionsやJenkinsとの選び分け
- まとめ
全ステップがコンテナで動く設計

Drone CIのアーキテクチャはシンプルで、「Drone Server」がWebUI・API・パイプライン管理を担い、「Runner」が実際のビルドを実行します。Runnerは複数種類あり、Dockerランナー・Kubernetesランナー・Exec(シェル)ランナー・SSHランナーなどから選択でき、対象のホスト環境に応じて使い分けます。Server自体もDockerコンテナとして起動でき、わずか数MBのバイナリで動作する軽さが特徴です。
パイプラインはリポジトリ直下の .drone.yml で宣言します。各ステップは image: で指定したDockerイメージ内で実行されるため、Node.jsもPythonも.NETも、必要なツールチェーン入りのイメージを指定するだけで利用できます。「Plugin」と呼ばれる再利用可能ステップは、それ自体が小さなDockerイメージで配布される設計で、ECRへのpush、Slack通知、S3アップロード、Helmデプロイなど多数のプラグインが公開されています。GitHub Actionsの「アクション」より前にこの「全部コンテナ」発想を実装した点で先進的でした。
個人プロジェクトから商用化まで

ブラッド・ライズウスキはGopher Academyの主要メンバーとしても知られるGo言語コミュニティの実力者で、2014年に「コンテナベースで、設定をリポジトリに書く軽量CI」という発想でDroneの初版を公開しました。当時主流だったJenkinsの重さと、Travis CIの公開リポジトリ限定モデルへのアンチテーゼとして、GitHub Enterpriseユーザーやセルフホスト派のOSSコミュニティに強く支持されました。
2017年に共同創業者と共にDrone社を設立し、エンタープライズ版の販売を開始。2020年11月に米Harness社(CDツール提供企業)に買収されました。Harnessは買収後にDroneを基盤に「Harness CI」を商用展開し、Drone CIをCommunity Edition(無償OSS)として継続提供しています。現在のリポジトリは github.com/harness/drone にあり、開発は継続されているものの新機能の多くはHarness CIの有償版に投入される傾向にあり、純粋なOSS派にとっては選択を悩ませる時期に入っています。
セルフホストCIとしての魅力

Droneが今も選ばれる典型ケースは、「社内Gitea/GitLabに対する軽量セルフホストCI」です。Drone ServerをDocker Composeで起動し、リポジトリと紐付ければ即座にCIが動き始めます。GitHub以外のソース管理(Gitea・Gogs・Bitbucket Server・GitLabセルフホスト)にも公式対応している点が、社内向けに閉じた開発環境を持つ組織に重宝されています。
プラグイン開発のハードルが極めて低いのも魅力で、Dockerfile1枚+シェル/Goスクリプトを作ってDocker Hubにpushするだけで自前プラグインが完成します。GitHub Actionsのアクション開発がJavaScript/Dockerの2モデル混在で混乱しがちなのに対し、Droneはコンテナ一択でシンプルです。Kubernetesランナーを使えば、Drone自身も含めて全てK8sクラスタ上で動かす構成が可能で、小〜中規模のセルフホストCI基盤として実用性の高い選択肢になっています。近年はWoodpecker CIというDrone派生のOSSフォークも登場し、コミュニティ駆動の継続性を担保する動きが続いています。
GitHub ActionsやJenkinsとの選び分け

DroneとGitHub Actionsはコンセプトが似ています(コンテナベース、yml宣言、プラグイン豊富)が、Actionsがリポジトリと完全統合された「サービス」なのに対し、Droneは自分でホストする「製品」です。公開リポを無料で回したいユーザーはActions、社内GitやGiteaに紐付けたいユーザーはDrone、という棲み分けが定着しています。
Jenkinsと比べると、Droneはコンテナ前提で設計されているため、エージェント管理やプラグインの依存地獄が起きにくいのが利点です。ただし、Jenkinsが何百ものプラグインで「およそ何でもできる」のに対し、Droneはミニマルさを重視するため、複雑な企業ワークフローには物足りない場面もあります。Harness買収後の方向性次第ではOSSコミュニティの活力が変動するため、Woodpecker CIなどフォークを併用するという保険を掛ける動きも見られます。それでも「コンテナ時代の軽量セルフホストCI」の標準的選択肢として、Droneの地位はしばらく揺るがないでしょう。
まとめ
Drone CIは『すべてのステップをDockerコンテナで』という設計を早期から実装し、yamlによる宣言的CI設定の流行を先導した軽量CIサーバーです。Harness傘下となった現在もセルフホストCIの定番選択肢として、Gitea利用者や社内CI構築者から支持を集め続けています。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント