8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CI/CDとは何かを勉強する

Posted at

前置き

CI/CDってよく聞くけど、他人説明できるほど知らなかったので勉強しました。
ググった内容を自分なりにまとめた記事です。
より詳しく知りたい方は、下記の参考文献を読んでみてください。

参考文献

継続的インテグレーション (CI)
CI(継続的インテグレーション)とは? » CloudBees|テクマトリックス
継続的インテグレーションとは? – アマゾン ウェブ サービス
いまさら聞けない「CI/CD」の意義――GitHubとGitHub ActionsでCI/CDを試してみよう
CD(継続的デリバリー)とは? » CloudBees|テクマトリックス
継続的デリバリーとは - Red Hat
継続的デリバリーとは? – アマゾン ウェブ サービス

CI (Continuous Integration) とは

  • 継続的インテグレーション
  • 開発者が自分のコード変更を定期的にマスターブランチにマージし、その後に自動化されたビルドとテストを実行する

CI で実現すること

  • 開発者は1日1回またはそれ以上の頻度でリポジトリにコミットする
  • コミットがマージされる前に、自動ビルドと自動テストがトリガーされる
  • ビルドやテストに失敗しても素早く検知できる

CI 登場以前は?

  • 開発者が長期間にわたって独立して作業し、作業が完了後初めてマスターブランチにマージ
    • 変更点が多くマージ作業に時間がかかる
    • 小さいバグが修正されずに長期間に渡って累積 → リリース遅延

CI のメリット

  • 開発者の生産性を向上
    • 開発者を手動作業から解放
  • 短時間でバグの発見、対処
    • 自動テストなので、テスト頻度が上がる
    • バグが後になって大きな問題に発展する前に発見して対処できる
  • 更新を迅速に配信
    • 常にビルドが通るリポジトリを維持
    • お客様(ユーザー)に迅速かつ頻繁に更新を配信できる

CI を実践するために必要なこと

  • コードを統合するための共有リポジトリ環境
  • コードが正しく動くかを検証する実行可能なテストコード
  • テストコードを自動実行できる環境(CI環境)

CD (Continuous Delivery) とは

  • 継続的デリバリー
  • コード変更が発生すると、自動的に実稼働環境へのリリース準備が実行される
    • ビルド段階の後にテスト環境またはステージング環境にデプロイされる
    • デプロイ後にシステムテストやUIテストを行う
    • 準備が終わったら運用環境への更新を承認する

CD のメリット

  • リリースプロセスの自動化
    • 開発チームによるコード変更のビルド、テスト、運用環境へのリリースに向けた準備が自動化
  • 開発者の生産性を向上
    • 開発者を手動作業から解放
  • 短時間でバグの発見、対処
    • CD によってプロセス全体が自動化されるので、自分のコードに付加的な種類のテストを簡単に実行できる
  • 更新を迅速に配信
    • CD を適切に実装すると、標準化されたテストプロセスに合格し、デプロイ準備の整ったビルド成果物を常に手元に持つことになる

CD を実践するために必要なこと

  • コードのリリースやデプロイをする実行可能なコード
  • リリースやデプロイをするコードを自動実行できる環境(CD環境)

自動テストの例

  • コード解析
  • 単体テスト
  • APIテスト
  • UIテスト
  • 負荷テスト

CI/CD はなぜ必要?

  • 「開発、マージ、テスト、デリバリー(リリース)」を繰り返して、ユーザーからのフィードバックを受け取って改善し続けなければならない
    • 「開発、マージ、テスト、デリバリー(リリース)」を高頻度で回せれば、その分ソフトウェアを改善できる

Unity 開発で使えるツール例

  • Jenkins
  • Github Actions
  • GitLab CI/CD
  • CircleCI
  • Azure Pipelines
  • Unity Cloud Build
8
5
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
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?