CircleCIまとめ

まとめ系記事は随時更新中です。

スポンサーリンク

概要

CircleCIはクラウで稼働する、最も人気なCIツールです。

CIとはContinuous Integration の略で、継続的インテグレーションと呼ばれています。インテグレーションは統合でしょうか。

文言で見てもピンと来ないのですが、一般的な用途としては、gitをpushした時にビルドと準備しておいたテストコード実行の自動化です。

その先のCD(Continuous Derivery 継続的デリバリー)では、CIが終わったものをデプロイするという流れです。CircleCIでもCDも出来ます。

CircleCIの用途

上に記載したように、GitHubなどのソース管理リポジトリと連携して、プルリクやマージされた時など(条件次第)に起動する、タスクランナーとして使われます。push、clone、ビルド、テスト、デプロイ、通知といった感じで好きにパイプラインを構築出来ます。

CircleCIの注意点

ver 2.0 だと結構冗長な書き方になってしまいます。ver 2.1 からはそれを改善できるようになったものの、まだリリースされたばかりなので、今後のバージョンアップも期待しています。

CircleCIの所感

タスクランナーツールとしてはわかりやすく優秀だと思います。マニュアルも色々な外部ツールとの具体的な連携コードなども記載されており、ググるとマニュアルがヒットしてわかりやすいです。

UIもわかりやすいところを見ると、開発チームはエンジニア主体というより、デザイナー主体なのでは?と思いました。

個人的にはパイプラインのパイプの部分の面倒さをもっとCircleCI側で吸収してくれると、更に便利に使えると思っています。パイプの部分を自分でシェルでゴリゴリ書かないといけない場面が多く、どうしてもそこに開発工数がかかってしまうような感じがしました。自分のスキル不足もありますが、変数が使いづらく、後続処理に渡す引数や受け取る側の設定など、シングルコーテーションで囲ったりした時にうまく変数が展開されず、エスケープを考慮したり、その辺りの処理をトライアンドエラーで地道にパイプのテストをするのが大変でした。各工程毎の処理は簡単でもパイプが大変・・・。その辺りの機能があれば良いなと感じています。

CircleCIの具体的なコード

おいおいですが、こちらに記載していくかリンクを張っていく予定です。