CircleCIとは
Sass型のCI/CDサービスのことです。クラウド上のコンテナorVMを実行環境いとして使用します。
CircleCIではコンテナの利用を推奨しているようです。
何ができるの??
1.ビルド
ソースコードから実行可能なアプリケーションを構築します。
具体的には、Dockerイメージのpull、依存パッケージのインストール、コンパイルなどです。
2.テスト
UTなどのテストコードを実行して動作確認をしたり、Rubocop(Ruby)などのコードスタイルチェックなどを行います。
3.デプロイ
ビルドしてテストが通ったものを本番環境や検証環境などにリリースします。
メリット
1.環境構築コストが低い
・Saasだから
・Web-UIで初期設定を少しやるだけ
・冗長化とかも勝手にされている
・Jenkinsの場合、自前でJenkins用のサーバを立てる必要がある
2.運用コストが低い
・Saasだから
・サーバーメンテナンスや故障時の対応をやる必要がない
3.ymlファイルで設定できる
・Jenkinsの場合、Web-UIで細かい設定までできるが、個人的なものになりがち
デメリット
1.バージョン管理でSVNを使っているプロジェクトでは使えない
・GitHub/Bitbucket連携が前提
2.リアルタイムにビルド実行ができない
・定期実行はできる
3.CircleCIで故障が発生しても自分たちで原因解析や復旧をすることが困難
・Saasだから
4.Saasの利用料には要注意
・1コンテナは無料です。詳しくはこちらまで。
まとめ
ここまで簡単に紹介しましたが、なんとなく便利そうなのは伝わりましたかな??
実際に使いたいと!思う人はぜひ活用していってください!
素晴らしい記事がありふれているのでいくつか紹介して終わりにしておきます!
いまさらだけどCircleCIに入門したのでわかりやすくまとめてみた