CI/CD製品(サービス)は近年高い注目を集めており需要は増すばかりです。数多く製品が存在しておりますが果たしておすすめのサービスはどれなのでしょうか。目的や用途によって選び方は変わってきますのでそれぞれの特徴などは簡単に抑えておきたいものです。この記事ではCI/CD製品(サービス)のおすすめ7選をクラウド型とオンプレミス型を合わせてそれぞれの特徴を抑えながら簡単にご紹介させて頂きます。
CI/CDとはソフトウェアにおける様々な変更に備えて常にテストを自動で行い、本番環境へリリース可能な状態にしておくソフトウェアの技法のことです。『 CI』は「 Continuous Integration(継続的インテグレーション)_『 CD』は「Continuous Delivery(継続的デリバリー)」という意味を持ち、それぞれを合わせて自動化し継続的に行うという意味が込められております。このCI/CD領域は大きく分けてクラウド型とオンプレミス型の2種類が存在します。有名なサービスとして『Travis CI(クラウド型)』『CircleCI(クラウド型)』『Jenkins(オンプレミス型)』などが挙げられます。
CI/CDの役割や種類、基礎知識などを解説している記事はこちら>>
CI/CD製品(サービス)のおすすめ7選を見ていきましょう。
Travis CIとは『Travis CI community社』によって開発・提供されるGitHub上のソフトウェアのビルドやテストを行うためのオンラインで分散型の継続的インテグレーションサービスです。Travis CIは無料と有料のプランを用意しており無料版はオープンソースプロジェクト向け有料版はプライベートプロジェクト向けとなっております。特徴として「セットアップを数秒で実現」「多くのプラットフォームに対応」「テストに合格するとすぐにステージング」などが挙げられます。主に単体テストを自動化していくためのサービスとして多くの方に親しまれております。
CircleCIとは『CircleCI社』によって開発・提供されるSaaS型のCI/CDサービスです。クラウドまたはプライベートサーバーでホストされているCIを使用して、開発プロセスを自動化します。オンプレミス型で提供される「Jenkins」と同様な機能を提供し、「ビルド」「テスト」「デプロイ」などについて自動実行できるサービスとなっております。CircleCIの特徴は『ジョブの実行が高速』『ビルドのスピードを最適化できる』などが挙げられます。クラウドでホストされるソリューションのシンプルさが必要な場合でも、独自のプライベートインフラストラクチャでのホスティングの制御が必要な場合でもオプションが用意されております。
werckerとは『Oracle社』にって提供されるCI/CDサービスです。2012年にオランダにある『Wercker社』で開発され、後の2017年にOracle社によって買収されました。Werckerは、DockerベースのCD(継続的デリバリー)プラットフォームであり、ソフトウェア開発者がアプリケーションとマイクロサービスを構築およびデプロイするのに有効に働きます。特徴は「パイプライン」「設定の自由度が高い」「Dockerベースの実行環境」などが挙げられます。
Bitbucket Pipelinesとは『アトラシアン社』によって開発・提供されるCI/CDサービスです。同社が提供するBitbucket と連動させることができ、セットアップがとても簡単に実行
できます。特徴として「あらゆるプラットフォームに対応」「ブランチの構成をマップする」などが挙げられます。デプロイメントの確実性を強く謳っており、デプロイを視覚的に確認することや追跡やプレビューを容易に行えるようになっております。Bitbucket Pipelinesは『全てのチームのための継続的デリバリー』を掲げており「継続的デリバリーの実践を推進することにより、すべてのチームがソフトウェアをより早くリリースできるようにすること」のためにサービスの向上をし続けております。
enkinsとは『CloudBees社』によって開発・提供されるフリーでオープンソースのCI/CDサービスです。日本発進(開発者:川口耕介氏)のCI/CD製品として国内外で注目を集めております。Jenkinsはプロジェクトの構築、展開、自動化をサポートする数百のプラグインを提供しております。他にも特徴として「簡単な設定」「拡張可能」「汎用性が高い」ということが挙げられます。
ConcourseとはGo言語で構成されたパイプラインベースのCI/CDサービスです。Concourseは「リソース」「タスク」「ジョブ」の単純なメカニズムに基づいて構築されており、CI / CDに最適な自動化への一般的なアプローチを提供します。特徴としてパイプラインでプロセスを構成できるだけではなく、それを可視化、ビジュアライゼーションできるということが挙げられます。同じくオンプレミス型として人気を集める『Jenkins』と比較しても特定の個人に依存することがないため、大規模分散化システムの自動化処理用プラットフォームとして利用可能です。
DroneとはGo言語で構成されたコンテナベースのCI/CDサービスです。Droneは忙しい開発チーム向けのセルフサービスの継続的インテグレーションプラットフォームです。特徴は「簡単なインストールとメンテナンス」「分離されたビルド」「1から∞までスケール」などが挙げられます。またパイプラインは、 Gitリポジトリにコミットするシンプルで読みやすいファイルで構成されます。パイプラインの各ステップは、実行時に自動的にダウンロードされる分離されたDockerコンテナー内で実行されます。
CI/CD製品(サービス)におけるおすすめ7選をそれぞれの特徴を踏まえてご紹介させて頂きました。CI/CD製品(サービス)を一言で表すと『ソフトウェアにおける様々な変更に備えて常にテストを自動で行い、本番環境へリリース可能な状態にしておくソフトウェアの技法を採用した製品』です。皆さんの既にご存知のCI/CD製品や新たな発見は有りましたでしょうか。こちらでご紹介させて頂いたおすすめのCI/CD製品の理解を深めておくことで皆様のシステム開発効率化に少しでもお役に立てれば幸いです。