Skip to content
Latchkey

Jenkins vs TeamCity: セルフホスト CI 比較

どちらもセルフホストの CI サーバーです。Jenkins はオープンソースで無限に拡張可能です。TeamCity は JetBrains が洗練させたライセンスベースの製品です。

Jenkins と TeamCity はどちらも controller と agent を使い自前のインフラ上で動きます。Jenkins はプラグインとソフトウェアの価格で勝り、TeamCity は UX、build chain、すぐ使える機能で勝ります。以下が比較です。

JenkinsTeamCity
設定Jenkinsfile (Groovy) または UIUI + Kotlin DSL
ホスティングモデルセルフホストの controller + agentセルフホストのサーバー + agent
料金無料ソフトウェア + 自前のインフラ無料枠 + 有償ライセンス
エコシステム1,800以上のプラグインプラグイン + JetBrains ツール群
すぐ使える機能プラグインで組み立て豊富な組み込み機能 (build chain、再実行)
メンテナンス高 (ただしより導かれる)

料金とメンテナンス

Jenkins のソフトウェアは無料です。TeamCity は無料枠があり、それを超えると agent/サーバーの有償ライセンスが必要です。どちらもサーバーと agent を運用し、その継続的なコストを負担する必要があります。

設定とエコシステム

Jenkins はプラグインで最も拡張性が高い一方で脆くなりがちです。TeamCity はより洗練された UX、賢い再実行、そして組み立ての手間が少ない build chain を提供します。JetBrains を使うチームは TeamCity を好む傾向があります。

agent 運用をスキップする

どちらも agent の運用を強いられます。GitHub 上のチームは、GitHub Actions とマネージドランナー (例: Latchkey) でこれを完全に回避できます。安価なコンピューティング (GitHub-hosted より約70%安い)、warm pool、自己修復を、保守するサーバーなしで得られます。

結論

最大限の拡張性とライセンスコストゼロが欲しいなら Jenkins を、洗練され機能豊富な JetBrains 体験が欲しいなら TeamCity を選びましょう。いずれにせよ、マネージドランナーは GitHub チームにとって低運用の代替手段です。

関連ガイド