アプリケーション、データ、インフラのためのCI/CD
アプリケーション、データ構造、インフラを変更し、本番リリースを再現可能・観測可能・復旧可能にしたいチームのための実践ガイドです。
全体の流れを追うか、いま困っている場所から読み始めてください。
部 1: CI/CDとSoftware Deliveryの基礎
この部では、CI/CDとSoftware Deliveryの基礎を実践的なdelivery systemの一部として扱い、アプリケーション、データベース、インフラ、チーム運営、production運用をつなげて説明します。
部 2: 適切なCI/CDパイプラインを作る
この部では、適切なCI/CDパイプラインを作るを実践的なdelivery systemの一部として扱い、アプリケーション、データベース、インフラ、チーム運営、production運用をつなげて説明します。
部 3: アプリケーションのためのCI/CD
この部では、アプリケーションのためのCI/CDを実践的なdelivery systemの一部として扱い、アプリケーション、データベース、インフラ、チーム運営、production運用をつなげて説明します。
部 4: データベースのためのCI/CD
この部では、データベースのためのCI/CDを実践的なdelivery systemの一部として扱い、アプリケーション、データベース、インフラ、チーム運営、production運用をつなげて説明します。
部 5: インフラのためのCI/CD
この部では、インフラのためのCI/CDを実践的なdelivery systemの一部として扱い、アプリケーション、データベース、インフラ、チーム運営、production運用をつなげて説明します。
部 6: 設定、Secret、Progressive Delivery
この部では、設定、Secret、Progressive Deliveryを実践的なdelivery systemの一部として扱い、アプリケーション、データベース、インフラ、チーム運営、production運用をつなげて説明します。
部 7: Governance、Platform、Operating Model
この部では、Governance、Platform、Operating Modelを実践的なdelivery systemの一部として扱い、アプリケーション、データベース、インフラ、チーム運営、production運用をつなげて説明します。
部 8: 実装、Tooling、成熟度
この部では、実装、Tooling、成熟度を実践的なdelivery systemの一部として扱い、アプリケーション、データベース、インフラ、チーム運営、production運用をつなげて説明します。
デリバリーの問いを一つずつ扱う短い記事です。
アイデアを手元のラップトップから実際に使えるアプリケーションへ
アプリケーションはアイデアから始まりますが、実際にユーザーが使えるようにするには、サーバーへのデプロイ、本番環境の管理、そして信頼性のあるプロセスが必要です。この記事では、開発環境と本番環境のギャップを理解し、実用的なソフトウェアデリバリーの基礎を築く方法を解説します。
デプロイとリリースの違い:なぜ区別すべきなのか
デプロイとリリースは同じではありません。本番環境にコードを配置する技術的行為と、ユーザーが機能を利用できるようにするビジネス上の判断を分離することで、検証、スケジュール、ロールバックの柔軟性が向上します。
最初の実ユーザーが来た瞬間に手動アップデートが破綻する理由
手動でのビルド、テスト、デプロイは、サーバーが増え更新頻度が上がると必ず不整合を起こす。その根本原因と、一貫性を最優先すべき理由を解説する。
手動デプロイが限界を迎えるとき:CI/CDが存在する理由
手動デプロイの再現性の問題と、CI/CD(継続的インテグレーション/継続的デリバリー)がどのように信頼性と一貫性をもたらすかを解説。パイプラインの基本構造と導入前のチェックリストも紹介。
実際にデプロイするもの:アーティファクトと環境
コードを書いてリポジトリにプッシュした後、実際にサーバーに送られるのは生のソースコードではありません。アーティファクトと環境の概念を理解し、CI/CDパイプラインでそれらをどう扱うかを解説します。
アプリケーションが正しく動作しているかを確認する方法
デプロイ後にアプリケーションが正常に動作しているかを確認するためのヘルスシグナル(ログ、メトリクス、監視)の基礎と実践的なチェックリストを解説します。