概要

継続的インテグレーションの概要と、CircleCI を使用してエンジニアリング チームが自動化を行うしくみについて説明します。 CircleCI は、ソフトウェアのビルド、テスト、デプロイを自動化します。

CircleCI の概要

CircleCI- CircleCI のミッションは、テクノロジー主導型の組織が最高の成果を上げられるようにサポートすることです。
インテリジェントな自動化を通して、エンジニアリング チームの生産性を向上させます。

CircleCI は、エンタープライズ クラスのサポートとサービスを提供すると共に、高い柔軟性によってスタートアップにも対応しています。
Linux、macOS、Android、Windows、さらに SaaS やファイアウォールの内側など、必要な場所で動作します。

CircleCI のコンセプト イメージ

CircleCI のメリット

CircleCI は、30,000 の組織をサポートし、1 日に 100 万近くのジョブを実行しています。 CircleCI が選ばれる理由は、ジョブの実行が高速であり、ビルドのスピードを最適化できることです。 CircleCI は、高度なキャッシュDocker レイヤー キャッシュ、高速マシン上で実行するためのリソース クラス、および従量課金制プランによって、きわめて複雑なパイプラインを効率的に実行するように構成できます。

開発者は circleci.com を使用して、任意のジョブに SSH 接続してビルドの問題をデバッグしたり、.circleci/config.yml ファイルで並列処理をセットアップしてジョブの実行を高速化したり、わずか 2 つのキーでキャッシュを構成してワークフローで以前のジョブのデータを再利用したりすることができます。

自社サーバーにインストールされた CircleCI のオペレーターや管理者は、CircleCI を使用して、ビルドをモニタリングしてインサイトを得たり、スケジュールに Nomad クラスターを使用したりすることができます。詳細については、CircleCI 運用ガイドを参照してください。

概要

GitHub または Bitbucket 上のソフトウェア リポジトリが承認され、プロジェクトとして circleci.com に追加された後は、コードを変更するたびに、クリーン コンテナまたは VM で自動化されたテストがトリガーされます。 CircleCI は、各ジョブをそれぞれ独立したコンテナまたは VM で実行します。 つまり、ジョブが実行されるたびに、CircleCI がコンテナまたは VM をスピンアップし、そこでジョブを実行します。

その後 CircleCI は、テストが完了すると、成功または失敗のメール通知を送信します。 CircleCI には Slack 通知と IRC 通知も統合されています。 コード テスト カバレッジの結果は、レポート ライブラリが追加されているプロジェクトの詳細ページから提供されます。

CircleCI は、AWS CodeDeploy、AWS EC2 Container Service (ECS)、AWS S3、Google Kubernetes Engine (GKE)、Microsoft Azure、Heroku などのさまざまな環境にコードをデプロイするように構成できます。 他のクラウド サービスへのデプロイには、SSH を使用するか、ジョブの構成でサービスの API クライアントをインストールすることで、簡単にスクリプト化できます。

継続的インテグレーションとは

継続的インテグレーションは、コードを共有リポジトリの master ブランチに常時頻繁に統合することを奨励する開発手法です。 それぞれの機能を個別にビルドして、開発サイクルの最後に統合するのではなく、各開発者のコードが 1 日に何度も共有リポジトリに統合されます。

継続的インテグレーションは、デジタル トランスフォーメーションの重要なステップです。

概要
すべての開発者が共有メインラインに毎日コミットします。
コミットされるたびに、自動化されたビルドとテストがトリガーされます。
ビルドやテストが失敗しても、数分以内にすばやく修復できます。

メリット
チームの生産性、効率、満足度を向上させます。 問題をすばやく検出して解決できます。 より高品質で安定したプロダクトをリリースできます。

無料トライアル

CircleCI は以下の無料トライアル オプションをご用意しています。

オープンソース

パブリック オープンソース プロジェクト用無料コンテナの詳細については、「オープンソース プロジェクトの構築」を参照してください。

関連項目

Linux、Android、macOS 上で動作するすべてのアプリがサポートされます。 以下のドキュメントを参照してください。