「継続的インテグレーション」に精通している方であれば、「継続的インテグレーションの使用は必須となっている」という意見に間違いなく同意するでしょう。現在、継続的インテグレーション ツールは数多く利用可能です。この記事では、いくつかの一般的な継続的インテグレーション ツールについて説明します。この記事を読めば、これらの CI ツールについての理解が深まり、どのような機能を提供できるかがわかるようになり、ニーズに最適な継続的インテグレーション ツールを選択できるようになります。
次に、8 つの継続的インテグレーション ツールを順番に紹介します (紹介の順序に意味はありません)。 ジェンキンス Jenkins は Java で書かれたオープンソースの CI ツールです。これは、Oracle が Sun Microsystems を買収したときに Hudson のフォークとして開発されました。 Jenkins は、GUI インターフェースとコンソール コマンドを通じて構成されるクロスプラットフォーム CI ツールです。 Jenkins はプラグインを通じて機能を拡張できるため、非常に柔軟性があります。 Jenkins プラグインは非常に便利で、独自のプラグインを簡単に追加できます。 Jenkins には、スケーラビリティに加えて、複数のマシンで分散ビルドと負荷テストを実行できるという、もう 1 つの優れた機能があります。 Jenkins は MIT ライセンスの下でリリースされているため、自由に使用および配布できます。 Cloudbees は、Jenkins in Cloud という形でホスト型ソリューションも提供しています。 概要: Jenkins は最も人気のある継続的インテグレーション ツールの 1 つであり、強力で柔軟性に優れています。習得には多少時間がかかるかもしれませんが、柔軟な継続的インテグレーション ソリューションが必要な場合は、その使い方を習得する価値は十分にあります。 公式サイト: ジェンキンス 利用可能: 無料 プラットフォーム: クロスプラットフォーム チームシティ TeamCity は JetBrains の成熟した CI サーバーです。 JetBrains はソフトウェア開発の世界で権威としての地位を確立しており、WebStorm や ReSharper などのツールは世界中の開発者に使用されています。 TeamCity は無料バージョンですべての機能を提供しますが、構成は 20 個、ビルド エージェントは 3 個に制限されています。追加のビルド エージェントとビルド構成を購入する必要があります。価格については、こちらをご覧ください。 TeamCity はすぐに使用でき、さまざまなプラットフォームで動作し、さまざまなツールとフレームワークをサポートしています。 JetBrains およびサードパーティ企業が開発したパブリック プラグインをサポートできます。 TeamCity は Java ベースのソリューションであるにもかかわらず、継続的インテグレーション ツールの中で最高の .NET サポートを提供します。 TeamCity には、必要なエージェントの数に合わせて拡張できるさまざまなエンタープライズ パッケージもあります。 要約: 全体的に見ると、TeamCity は非常に優れた継続的インテグレーション ソリューションですが、その複雑さと価格を考えると、エンタープライズのニーズに適しています。 公式サイト: TeamCity 利用可能範囲: 3 つのエージェントと 20 のビルド構成は無料、追加のエージェントと構成は有料 プラットフォーム: サーブレット コンテナ (ローカル) トラビスCI Travis CI は最も古いホスティング ソリューションの 1 つであり、多くの人々の信頼を獲得しています。同社は主にホスト型ソリューションで知られていますが、エンタープライズ パッケージの形でオンプレミス バージョンも提供しています。 Travis CI は、GitHub でホストされているすべてのオープンソース プロジェクトと最初の 100 ビルドに対して無料です。選択できる価格プランはいくつかありますが、主な違いは同時に実行できるビルドの数です。 Travis CI ビルドは、ビルド中に実行する必要があるタスクを含む .travis.yml ファイルを介して構成されます。複数の言語をサポートし、包括的なヘルプドキュメントを提供します。 概要: 成熟したソリューションで、ホスト型とオンプレミス型のバリエーションを提供し、多くのチームに愛され、使用されており、非常によく文書化されています。 公式サイト: Travis CI 利用可能範囲: オープンソースプランと最初の100ビルドは無料、それ以外は有料 プラットフォーム: ホスト型およびオンプレミス型 ゴーCD Go は、ThoughtWorks の最新の Cruise Control の具現化です。 Go は、ThoughtWorks が提供する商用サポートを除き無料です。 Windows、Mac、さまざまなLinuxディストリビューションで動作します Go が際立っているのは、複雑なビルド プロセスをシンプルにするパイプライン コンセプトです。パイプラインの概念が継続的デリバリーにどのように役立つか、またそれが Jenkins のパイプライン プロセスとどのように比較されるかについては、こちらで読むことができます。もともとはパイプラインの概念をサポートし、ビルド プロセスのボトルネックを解消し、タスクの並列実行を可能にするために設計されました。 概要: Go CD は複雑なシナリオに最適で、有料サポートを無料で提供します。 公式サイト:Go CD 利用可能: 有料サポート付きで無料 プラットフォーム: Windows、Mac、一部のLinuxディストリビューション 竹 Atlassian は、ソフトウェア開発チーム向けのツールの提供を専門とする企業です。 JIRA や Bitbucket を通じて聞いたことがあるかもしれません。 Bamboo は当初、クラウドとローカルの 2 つの継続的インテグレーション ソリューションを提供していました。しかし、2016 年 5 月以降、クラウド バージョンでは Bitbucket Pipeline がサポートされなくなりました。 Bitbucket Pipeline は Docker をサポートしており、非常に効率的で高速な継続的インテグレーション ソリューションです。急速に発展しており、Bamboo のクラウド版の後継として最適です。 Bamboo は 30 日間の無料トライアルとしてご利用いただけます。 Atlassian ツールとして、JIRA と BitBucket を非常によくサポートしており、Jenkins 構成も Bamboo に簡単にインポートできます。 概要: Bamboo はローカル CI ツールです。元のクラウド セグメント ソリューションは Bitbucket パイプラインに置き換えられました。 30 日間の無料トライアルがあり、その後は有料でご利用いただけます。 公式サイト:Bamboo 利用可能: 有料、無料トライアル プラットフォーム: ローカル GitLab CI GitLab CI は、GitLab によって公開されたオープンソースの Rails プロジェクト GitLab のコンポーネントです。 GitLab は GitLab.com でホストされており、無料のホスティング サービスと、アクセス制御、問題追跡、コード レビューなどの Git リポジトリのストレージおよび管理機能を提供します。 GitLab CI は GitLab と完全に統合されており、GitLab API を使用してプロジェクトに簡単に接続できます。 GitLab の実行部分 (プロセス構築) は Go で記述されており、Windows、Linux、OSX、FreeBSD、Docker で実行できます。 公式の Go Runner は複数のジョブを同時に実行でき、Docker サポートが組み込まれています。 GitLab CI には、オープンソースの GitLab Community Edition と GitLab Enterprise Edition の 2 つのバージョンがあります。 概要: GitLab CI は、無料版とエンタープライズ版の両方を提供する優れたホスト型ツールです。 公式サイト: GitLab CI 利用可能: 無料および有料 プラットフォーム: ホスト型 (Gitlab.com でホスト可能) サークルCI CircleCI も GitLab から派生したもので、クラウドベースの継続的インテグレーション管理ツールです。 CircleCI は現在 Github 管理のみをサポートしており、サポートされる言語には Java、Ruby/Rails、Python、Node.js、PHP、Haskell、Skala が含まれます。 CircleCI が他の継続的インテグレーション ツールと異なるのは、サービスを提供する方法です。 CircleCI が主に課金するのはコンテナです。 1 つのコンテナは無料で使用でき、より多くのコンテナを使用し始めると、アプリケーションを高速化するために必要な並列化のレベルを選択できます。 選択できる主な並列化レベルは、1x、4x、8x、12x、16x の 5 つです。 16 個のコンテナを使用してプロジェクトをビルドすることを選択できます。その場合、並列化レベルは 16 倍になります。もちろん、16 個のコンテナを使用して 4 つのプロジェクトを同時にビルドすることもできます。その場合、並列化レベルは 4 倍になります。それはあなた次第です。同時に、CircleCI は Docker もサポートしています。 概要: CircleCI は、最大 16 倍の並列化レベルを提供する柔軟なクラウド CI ツールです。プロジェクトを迅速に構築する必要があり、価格も高くない場合には、これは良い選択です。 公式サイト: CircleCI 利用可能: 無料および有料 プラットフォーム: ホスト型 コードシップ Codeship はオンプレミスの継続的インテグレーション ソリューションです。ベーシックとプロフェッショナルの 2 つのバージョンがあります。基本バージョンでは、すぐに使用できる継続的インテグレーション サービスが提供されますが、Docker はサポートされていません。その主な目的は、アプリケーションを構築し、UI を通じてその他の操作を実行することです。プロフェッショナル バージョンでは、より柔軟な機能と Docker サポートが提供されます。 基本バージョンにはオプションの有料パッケージがいくつかあり、有料パッケージが高価になるほど並列処理能力が向上します。プロフェッショナル バージョンでは、インスタンス タイプと並列処理のレベル (最高レベルは 20 倍) を選択できます。価格は少し高くなりますが、ほとんどのチームではビルドを並列処理するこの機能が必要になるでしょう。 要約: CodeshipはDockerをサポートする強力なローカル継続的インテグレーションソリューションです 公式サイト: Codeship 利用可能期間: 月間最初の 100 ビルドは無料、それ以降のビルドは有料 プラットフォーム: ホスト型 コードフレッシュ 上記のツールの多くは Docker をサポートできますが、Codefrsh は設計から開発までコンテナの概念を実装します。 Codefresh の開発者は、Docker が人気が出ることを最初から認識していました。 Codefresh では、既存の Docker ファイルで作業できるだけでなく、いくつかの異なるテンプレートから選択して、プロジェクトを Docker コンテナに簡単に移行することもできます。 UI は非常にわかりやすく、簡単に使い始めることができます。 Codefresh を紹介する理由は、非常に驚くべき機能があるからです。この機能は、イメージを一時的な環境に公開するためのものです。プロジェクトがビルドされると、そのイメージもビルドされ、このイメージを公開して動作を確認できます。つまり、追加の仮想マシンを必要とせずに一時的な作業環境を構築できるということです。これは本当に素晴らしいことです。 Codefresh は比較的新しいツールであり、改善できる領域や新しい機能を追加できる領域が数多くあります。しかし、コンテナが重要な部分であるという事実は、Docker コンテナの使用を計画しているチームにとって非常に優れた継続的インテグレーション ソリューションになります。 概要: Codefresh は、Docker をサポートする継続的インテグレーション ツールです。ローカル環境用の Docker イメージを公開およびビルドできます。 公式サイト: Codefresh 利用可能範囲: 毎月最初の 200 回のビルド、5 回の同時ビルド、および 1 つのローカル環境は無料です。追加のサービスは有料で利用できます。 プラットフォーム: ローカル では、あなたとあなたのチームにとって最適な継続的インテグレーション ツールは何でしょうか? プロジェクトに適した CI ツールを選択する際には、いくつか留意すべき点があります。 ローカル ソリューションはビルド プロセスに十分な柔軟性を提供し、プロジェクト情報をローカルに保存できます。これはあなたにとって重要ではないかもしれませんが、場合によっては、また一部の企業では必須となる場合があります。 一方、ホスト型ソリューションでは、ホストするためのハードウェアが必要ないため、セットアップ オプションや拡張性はそれほど多くありません。 もうひとつ重要なことは、Docker がサポートされているかどうかです。 Docker はアプリケーションの配布方法に革命をもたらし、無視できないテクノロジーになりました。上記のツールのほとんどは Docker をサポートしていますが、一部のツールは他のツールよりも Docker をより適切にサポートしています。 ***見落とされがちなのがユーザー インターフェイスです。上記のツールの中には、他のツールよりも使いやすいものもあります。優れた CI ツールの主な役割の 1 つはビルド プロセスを容易にすることなので、UI の操作は難しくも複雑でもありません。 |
<<: IoT時代の信頼性の高いエッジコンピューティングに関する5つの考察
>>: クラウドコンピューティングがセキュリティを強化し、Hongshi Electronics がクラウド導入を加速
Kafka は、今日の時代におけるデータ パイプラインのほぼ第一選択肢です。バックエンド開発やビッグ...
2019年テンセントグローバルデジタルエコシステムカンファレンスの重要な一環として、「デジタルエコシ...
ご存知のとおり、検索エンジンにおけるユーザー エクスペリエンスの重要性はますます高まっています。ユー...
TIOBE は 2014 年 4 月のプログラミング言語ランキングを発表しました。上位 3 位は C...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています多くの人が...
ご存知のとおり、インターネットの発展に伴い、あらゆる業界が熾烈な競争に直面しています。ウェブサイト最...
カマテラはどうですか? Kamatera スペイン クラウド サービス / スペイン VPS サーバ...
1gbits は、公式にはリトアニアの商人であることが示されており、ドメイン名は 年に登録され、最後...
2013年に、有名なPaaSクラウドサービス企業PivotalのプログラマーであるMatt Stin...
ここ数年、クラウド ネイティブのテクノロジーとコンセプトが広く受け入れられるようになりました。急速に...
ウェブサイトのコンテンツがインターネット上のコンテンツとあまりにも類似しています。ウェブサイトのコン...
SEO 業界に参入したばかりの人は皆、外部リンクから始めます。私もそうです。外部リンクは非常に退屈な...
今年 7 月、私はいくつかの海外ドメイン名再販業者からの最新のプロモーション情報を共有し、誰もがお金...
概要: JD.com は IPO 価格が 16 ~ 18 ドルの間になると予想しており、調達額は最大...
クラウド コンピューティング インフラストラクチャは、内部システムとパブリック クラウド間のソフトウ...