From Code to Production
A focused chapter on from code to production, with practical delivery concerns, trade-offs, and the operational questions behind CI/CD work.
ソフトウェアデリバリーの本当の出発点はコードではない
すべてのデプロイはどこかから始まります。しかし、その「どこか」はプルリクエストでもブランチでもコードの一行でもありません。それはもっと前、多くの場合誰も書き留めなかった会話の中にあります。
アイデアからコードへ:ソフトウェアデリバリーの第一歩
すべての機能はアイデアから始まります。コードがローカルマシンで動くだけでは出荷できません。依存関係の管理、設定の分離、コミットの習慣、共有リポジトリへのプッシュまでを解説。
コードに必要なのは、人間の目とロボットの目、その両方
コードレビューとCI(継続的インテグレーション)は、単なるプロセスではなく、ヒューマンエラーと自動化の盲点を相互に補完する仕組みです。プルリクエストを軸に、ヒューマンチェックとロボットチェックを組み合わせることで、バグの混入を防ぎ、コード品質を高める実践的な方法を解説します。
コードからビルドへ:なぜあなたのラップトップはコンパイルに適した場所ではないのか
ローカルで動いたコードが本番で失敗する理由と、自動ビルドが環境の違いを排除する仕組みを解説。アーティファクトの重要性と実践的なビルドパイプラインの構築方法を紹介します。
ビルド成果物はどこへ行く?コードと本番環境の間にある欠けているピース
ビルドが成功した後、成果物をどこに置くべきか?CI/CDパイプライン設計で見落とされがちなアーティファクトレジストリの重要性、共有ストレージ問題、イミュータビリティ、ビルドとデプロイの分離について解説します。
コードが実際に実行される場所:環境を理解する
アプリケーションが実際に実行される開発、ステージング、本番環境の役割と違いを解説。CI/CDパイプラインにおける環境管理のベストプラクティスを紹介します。
デプロイとリリースの違い:新しいコードがなぜユーザーに届かないのか
デプロイは完了したのにユーザーに変更が反映されない。その原因はデプロイとリリースの違いにあります。本記事では、ロードバランサーやカナリアリリースを用いた安全なリリース手法を解説します。
デプロイ後に何が起きるか:新しいバージョンが実際に動作していることを確認する
デプロイボタンを押し、パイプラインがグリーンになった後も、本当のテストは始まったばかりです。本番環境で新バージョンが正しく動作することを確認するためのスモークテスト、検証、ヘルスシグナル監視、ロールバック判断基準を解説します。
ステージングでは決して得られない、本番環境が教えてくれること
ステージングで全テストが通っても、本番環境では予期せぬ問題が発生します。本番環境からのフィードバックを活用し、システム改善とデリバリープロセスを強化する方法を解説します。