🙄
CICDパイプラインとは:超概要
CI/CDパイプラインとは
ざっくり言うと、デプロイするコードの品質を保ちながらすぐに本番リリース可能な状態を保ちつつ、
開発スピードを向上させるための手法。
CIとは
訳は継続的インテグレーション。
コードに変更があると、ビルドからテストまでを自動化する手法の名称。
ビルダからテストまでの一般的な課題として、
コードが変更が積み重なる中で全体をテストしてバグを発見しても、どこが原因かを特定するのにコストが非常にかかる。
そんな時に、CIを取り入れていれば、コードを変更するたびに、ビルド・テストが自動実行できるので、
バグがすぐに発見できて、コスト削減につながる!
CDとは
訳は継続的デリバリー。
テストをパスしたソフトウェアを自動で実稼働環境にリリースできる状態にできる手法のこと。
役立つステージはおおまかに三つ
- ビルドステージ
- テストステージ
- デプロイステージ
具体的なそれぞれのカテゴリでのツールの例
①コードリポジトリ:ソースコードの管理を行う
Git、GitHub
②CIツール:コードに変更があるとビルドやテストして!と指示を出すイメージ
Jenkins、TravisCI
③構成管理ツール
インフラ基盤の構築を自動化したり、構築手順の管理
Ansible、Chef、Puppet
④ビルドツール
Maven、Ant、Gradle
⑤テストツール
Professional、LoadRunner、UFT One
いつから流行り始めたか?
体感として、2016 ~ 2018年ごろからビックテックがCI/CD周りのツールをリリースして騒がれ始めた感じ。
Discussion