CircleCI について
概要
CircleCI の使命は、ソフトウェアチームがより迅速にイノベーションを実現できるよう、変更を管理することです。 私たちは、テクノロジー主導の組織が最高の仕事を遂行できるよう支援し、変更を管理することでエンジニアリングチームの生産性と革新性を高めたいと考えています。 CircleCIは、企業向け(エンタープライズ)のサポートとサービスを提供し、お客様の作業場所で動作します: Linux、macOS、Android、Windowsをクラウドまたはお客様のサーバーでご利用いただけます。
インテリジェントな自動化により、ビルド、テスト、デプロイを行うことができます。
CI/CD の基本
CI・継続的インテグレーションは、開発者がコードを共有リポジトリのメインブランチに迅速かつ頻繁に統合するための手法です。 別の場所で機能追加などを行い、開発サイクルの終了間際にマージする方法とは違って、継続的インテグレーションでは、開発メンバーそれぞれが随時、自身のコードを共有リポジトリ上でマージしていく形になります。 各コミットにより自動テストとビルドがトリガーされます。 失敗しても、数分以内に素早く修復することができます。
CD(継続的デリバリー)とは、ステージング・ブランチやプロダクション・ブランチのような、選ばれた開発環境に対して信頼性の高いリリースを行う手法です。
CI/CDを活用することによって、開発者がより高品質で安定した製品やソフトウェアをリリースすることが実現します。
CircleCI のワークフロー
サポートされているバージョンコントロールシステム上 (VCS) のソフトウェアリポジトリは、 circleci.com のプロジェクトとして承認され、追加される必要があります。 その後はコードが変更されるたびに、クリーンなコンテナや仮想マシンで自動テストが実行されます。 CircleCI はそれぞれの ジョブを別々の コンテナまたは 仮想マシンで実行します。
その後 CircleCI は、テストが完了すると、成功または失敗のメール通知を送信します。 CircleCI には Slack 通知と IRC 通知も統合されています。 テスト通知の内容は、レポートライブラリが追加されているプロジェクトであれば、その詳細ページから確認できます。
CircleCI は、(これらに限定されないが)様々な環境にコードをデプロイするように構成することができます:
-
AWS S3
-
AWS EC2 Container Service(ECS)
-
Google Cloud Platform (GCP)
-
Azure Container Registry
-
Heroku
-
Firebase
-
Android
-
iOS
Orb レジストリ には、一般的なデプロイターゲットに使用できる、再利用可能な設定のパッケージが含まれています。 Orb を使うと、設定を簡略化し効率化することができます。
その他のクラウド型デプロイサービスを使っている場合は、 SSH を使うか、ジョブ設定において各サービスの API クライアントを導入することで、スクリプト化することができます。