drone.io v1.0に向けて
この記事は drone.io Advent Calendar 2017 - Adventar 最終日の記事です。
drone.io は Goで作られたオープンソースのCD (Continuous Delivery)環境です。
droneは現在v0.8.3が最新版となっています。次はv0.9が予定されています*1が、v1.0ではどのようになるのか予想してみたいと思います。
新機能予想
Kubernetes サポート
作者はdroneの実行環境としてKubernetesは重要であると考えており*2、まだ利用はされていませんがKubernetes APIを利用するコードがコミットされています。*3
現在のagentはdocker socketをvolume mountする仕様になっていますので、Kubetnets上では制約が出てきてしまいますし、スケーラビリティを確保したい場合はこの対応が必須になります。
Windows サポート
近いうちにありそうなのがWindowsコンテナのサポートです。WindowsコンテナはWindows Server 2016から対応しています。マルチプラットフォーム対応自体は行われていますので難しくはないと思われますが、まだいくつかタスクが残っているようです*4。
コントリビュートしてくれるひとがいればもう少しはやく進むかもしれません。
ネイティブ実行モード
WindowsやmacOSでのネイティブ実行がサポートされるかもしれません*5。これができるとiOSのビルドができるようになり非常に便利ですが、ビルドの隔離をどうやるかが課題なのですぐには入らないかと思われます。Vagrantのような仕組みを使って仮想マシンベースの仕組みになるかもしれません。
v1.0に向けて
v1.0 まではいくつかのIssueが残るのみです*6。 大きな機能追加等はv1.0までに行われ、その後は安定性の向上やコードの改善に注力すると表明されています。 これまでのバージョンアップでは毎回破壊的な変更が起きていましたが、そろそろ落ち着くことになりそうです。
これからのdrone先生の活躍にもご期待下さい!
*1:https://github.com/drone/drone/projects/4
*2:https://gcppodcast.com/post/episode-70-drone-ci-with-brad-rydzewksi-and-jessie-frazelle/
*3:https://github.com/cncd/pipeline/blob/master/pipeline/backend/kubernetes/kubernetes.go
*4:https://github.com/drone/drone/issues/1330#issuecomment-330394262