loader image

【未経験だと分かりにくい用語】CI/CDとは?

前提

一般的に開発・運用しているコードは書いただけで完了ではありません。

  • 作成・改修したコードを本番の環境に適用してエラーが出ないか確認するテストという工程
  • 実際に本番環境にコードを適用するデプロイという工程

を実施する必要があります。

テストを行わないと本番環境に誤ったコードをデプロイしてしまい大変な目に遭ってしまう
デプロイを行わないとせっかく書いたコードが反映されない

terraformでいうと
テストは terraform plan
デプロイはterraform apply

CI/CDとは?

しかし、いちいちコマンドを打つのはめんどくさい
適用する環境がたくさんあったらなおさら。。。

そこでテストデプロイをいちいちコマンドなんか使わずに自動化しようぜ!
というのがCI/CDです。

ちなみに
CI…テストの自動化
CD…デプロイの自動化
です。

CI/CDを組むと何がいいのか

1.めんどくさくない

terraform を git で管理しているプロジェクトで手動テストする場合

  1. コードを書く
  2. git push
  3. PRを作る
  4. terraform planを実施する準備(作業環境へのログインやgit clone)
  5. terraform plan

という工程を踏まないといけないが

git でPRが作られた時にterraform planを実施するCIを組んでいる場合

  1. コードを書く
  2. git push
  3. PRを作る

わざわざPlanする必要がないのでめっちゃ楽!
git でPR mergeされたらterraform applyを実施するCDを組んでおけば楽できる

2.ミスが減る

手動でテスト、デプロイをしていると
「テストしてないやばいコードをデプロイしちゃった!」
「テストしたけどデプロイ忘れっちゃった!」
みたいなことが100%なくなります。

CI/CDが組めるツール

実際にCI/CDを組む

※近日公開予定

コメント

タイトルとURLをコピーしました