「CircleCI」基本情報
概要
CircleCIとは、継続的インテグレーション(デリバリー)サービスです。コミットからデプロイまでのパイプラインを作成し、継続的な統合/配信を使用してソフトウェア開発プロセスを自動化できます。
基本データ
プラットフォーム | クラウドサービス |
クラウドサービス名 | CircleCI |
読み方 | サークル シーアイ |
略称 | --- |
基本説明
「CircleCI」は、継続的インテグレーションツール「Jenkins」と同様な機能を提供し、ビルド/テスト/デプロイなどについて自動実行できるサービスです。
「Jenkins」は自前でサーバを立てる必要がありますが、「CircleCI」はWebサービスであるため、登録するだけで使えるようになります。
GitHubなどのリポジトリサービスと連携させることで、「①リモートリポジトリにPush→②テスト実行→③成功したらデプロイ」という手順を実現できます。
主な機能
テスト
CircleCIは、クリーンコンテナ/仮想マシンでビルドを自動的にテストします。
「Seleniumなどによるブラウザ動作テスト」のようなUIテストなどを実行できます。
ビルド
「Android/iOSアプリのビルド」「Electronアプリのビルド」「Go言語のクロスコンパイル」などのビルドを実行します。
配布
GitHubなどのリポジトリサービスを使用して配布を行います。
デプロイ
アプリケーション実行プラットフォーム「heroku」などに対してデプロイを行います。
ドキュメント作成
コードから自動生成できる範囲のドキュメントを生成します。
主な特徴
バージョン管理システムとの統合
CircleCIは、GitHub/GitHub Enterprise/Bitbucketと統合されており、Pushのタイミングでビルドを作成します。
そのため、「任意のタイミング実行」には向いていません。
ビルド制御設定ファイル「circle.yml」
CircleCIでは、設定ファイル「circle.yml」にビルド制御を記述し、リポジトリのルートに配置します。
ジョブの実行(テスト/ビルド/デプロイなど)の実行方法を定義し記述しておくことにより、規定のタイミングで実行されます。
Jenkinsとは異なり「この設定ファイルのみですべて完結できる」点が特徴です。
コンテナベース
CircleCIは、コンテナの中でテスト/ビルド/デプロイを行います。
コンテナを増やすほど並列実行され速度を上げることが可能です。
また、コンテナに対してSSH接続を行えます。
ビジュアルダッシュボード
CircleCIには、インタラクティブなビジュアルダッシュボードが用意されています。
CircleCI上のすべてのビルドを確認でき、ビューのカスタマイズも行えます。
ホスティングオプション(クラウドorオンプレミス)
CircleCIは、「クラウド版」と「オンプレミス版」のホスティングオプションを選択できます。
クラウドサービス版
機能リリースへの即時アクセスと自動アップグレードにより、保守作業が軽減されます。
オンプレミス版
オンプレミスのプライベートサーバにCircleCIをインストールし、プライベートインフラストラクチャのファイアウォールの内側でCircleCIを実行できます。
サービス連携
CircleCIは、多くのサービスやツールとの連携が可能です。
・リポジトリサービス
・クラウドサービス
・テストツール
・デプロイツール
・通知ツール(Slack) など
同様サービス
同様な製品として、次のようなものがあります。
「Jenkins」など
オフィシャルサイト
オフィシャルサイト
→CircleCI
料金情報
→CircleCI →Pricing
参考元サイト
- CircleCI
- Qiita →CircleCIで出来るコト
- Simple IT Life →CircleCI入門の入門
- バシャログ。 →【5 Stepでわかる】CircleCIで始める、CakePHP3アプリの継続的インテグレーション
- tehepero note →Jenkinsと完全にサヨナラして、CircleCIに移行した話
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。