技術系ブログ

とにかく小ネタで

CI/CDとは

CI/CDとは

初心者向け説明CI/CID

CI(Continuous Integration)

  • 継続的インティグレーションとはコードの変更を常に自動でテストすること

    CD(Continuous Delivery)

  • 継続的デリバリーとは、テストをパスした変更を いつでも本番環境へリリース可能な状態にしておくこと
CI/CDは1つの技術を指すものでなく、ソフトウェアの変更を常にテストして自動で本番環境にリリース可能な状態にしておく、ソフトウェア開発の手法を意味します。
CI/CDを取り入れると、バグを素早く発見したり、変更を自動でリリースしたりできるようになります。

継続的デプロイ

  • CI/CDのその先、テストをパスした変更を自動で本番環境へデプロイすることでリリースの自動化を行います。

テスト自動化のメリット

GitHubなどのVCS(バージョン管理システム)サービスと連携していて、開発者が変更を加えるたびに、CI/CDが自動でテストを実行してくれます。
また連携するCI/CD上ですべてのテストをパスしないと変更をメインのブランチにマージできないような機能もあり、これを活用すればテストが失敗したとき、その変更点を作成した開発者に修正を強制できるので、リグレッションなどを防ぎやすくなります。

リリース自動化のメリット

  • いかに効率良く最低限の機能を持った試作品を作り、顧客からフィードバックを得るかがスタートアップビジネス成功の鍵

  • MVP(実用最小限の機能)を作り、それをリリースして、フィードバックを得る。このループを素早く繰り返すことで、ユーザーが本当に求めるプロダクトを効率的に開発できるようになります。

  • 10の仮説をテスト環境で検証するよりも、1度のリリースをして本番環境で検証するほうが効率的な場合は多々あります