0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】CI・CT・CDの関係とは?【DevOps】

Posted at

CI・CT・CDとは?

CI・・・継続的インテグレーション
CD・・・継続的デレリバリー
CT・・・継続的テスト

この3つは、DevOpsの基盤です。
これらのプロセスをまとめて「CI/CDパイプライン」「DevOpsパイプライン」と呼ばれます。

CIとは?

CIとは、複数の開発者や開発したコードをセキュリティが確保された一元管理のリポジトリ(GitHubなど)に自動的に統合(マージ)するソフトウェアの開発手法になります。
CIでは、コードへの変更を頻繁にリポジトリにマージします。

SlackTeamsなどのコミュニケーションツールは、CIツールと統合されることが多く、開発チームにリアルタイムの更新情報を提供して、デプロイメント中に発生する問題への迅速な対応が可能なります。

CTとは?

CTによって、開発ライフサイクルのすべての段階でのテストができます。

開発者がコードをリポジトリにコミットすれば、CTが自動にテストを開始し、コードが次の段階に進む前に、正しく動作するか?の機能を確認することができます。
こうしたテストが自動的に実施されることで、開発者は開発プロセスの早い段階で問題点を把握することができます。

CTは、DevOpsライフサイクル全体を通じてテストと検証が継続的に実施される状態を確保して、早急なフィードバックを可能にしてリリースまでの時間を短縮することができます。

CTのテストには以下の種類が入ります。

  • 単体テスト
  • 統合テスト
  • 回帰テスト
  • パフォーマンステスト
  • セキュリティテスト

これらのテストに関して、さまざまな対象としているため、コードの品質と安定性を確保ができます。

CDとは?

コードは実行可能状態です。本番環境にリリースできる状態であるということです。
本番環境へのリリースは、Terraform PocketなどのIacのツールが使用されることが多いです。

CI/CT/CDのパイプラインのメリットについて

コードベースへの不適切な変更やエラーが発生しやすい変更に対しガードができ、コードのけ欠陥を早期に検出できます。
また、素早くフィードバックを返すことが可能です。フィードバックはメール、チャットツールなどからアクセスが可能です。
この迅速なフィードバックのおかげで開発スピードが上がり開発サイクルがの効率が上がります。

CI/CT/CDパイプラインでは、デプロイメントが自動化できます。
ソフトウェアを手作業リリースすると、人為的エラーが発生しやすいです。
リリースまで手順を自動化すれば、コードとリリースプロセスの両方が機能でき保証できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?