はじめに
明日からCirckeCIを使用してCI/CDパイプラインの構築をしていくので、本日はそもそも「CircleCI」ってなんなの?という基礎オブ基礎ところから簡単に自分の言葉でまとめてみました
CircleCIとは
まず大前提に、CircleCIとはなんなのか。それは、クラウド型のCI/CDツールです。
はい、まず初心者でこの一文を理解できた方はこの後の記事は読む価値ありませんのでここでやめましょう笑
かつて私も、最初この一文をみて1ミリも理解できませんでした。
そもそも、CI、CDの説明から必要ですね。
CI(継続的インティグレーション)
CIとは、CIとはテストや静的コード解析などの作業を自動化し、継続的に実行する手法です。
これにより、開発者は早期に問題を発見でき、ソフトウェア品質の維持・向上が容易できるようになります。
CD(継続的デリバリー)
CDとは各環境へのデプロイ作業を自動化し、継続的に実行する手法です。
以上を踏まえると、CircleCIではテスト、ビルド、デプロイを自動化するツールであることがわかります。
ちなみに、最近はGithubActionも流行りみたいです
CircleCIの必要性
近年のプログラミング言語やフレームワークのバージョンアップはすさまじい勢いで更新されます。そのため、逐一テストを書いていては追いつくことはできません。また、テストの種類も単体テスト、E2Eテストなどなど様々なものがあり、コーディング量も膨大になります。また、デプロイに関しても操作ミス等の可能性を考慮すると自動化にした方がいいことは言うまでもありません。
だから、テスト・ビルド・デプロイの自動化は実務では当然必須となるわけです。
私がポートフォリオに組み込む理由
私が転職用になぜCircleCIを取り入れようと思ったのかも記しておきます。
まず以下2つの理由があります。
- テストを自動でやってくれるので開発効率が上がるから
- 実務でよく使われているため
1つめの開発効率が上がるという点については、毎回自身が開発を進めるたびにいちいちテストを実行するのがめんどくさいなと単純に思っていたので、CircleCIのようなツールがあるのであれば入れてみようと考えました。
2つめの、実務で使われているからと言うのは、未経験の私でも実務で少しでも役に立ちたいと思い、せめて多くの現場で使われているようなツールは自分で勉強したいなと思ったからです。一部のスクールでは教えてもらうことが当然みたいで、ある種CircleCIが未経験市場では当たり前の実装になってきているとうこともありますが、基本的には「できることは自分でやってから転職したい」と言う思いがあり、今回実装することにしました。
おわりに
明日からいよいよ取り組むわけですが、またしてもエラーとの戦いになりそうで楽しみです笑