スキップしてメイン コンテンツに移動

投稿

注目の投稿

【Day 26】docker compose up / down / build の実務コマンド完全マスター 〜バックグラウンド起動(-d)、差分再ビルド(--build)、ログ監視、コンテナ・ボリューム完全初期化(down -v)の実務頻出ワークフローとC#開発サイクル〜

最近の投稿

【Day 23】【Case 3】本番リリースとタグ打ち(安定バージョンの凍結)

▲ 【Day 23】本番リリースとタグ打ち(安定バージョンの凍結) 👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 前回のDay 22では、リリースブランチ( release/v1.0.0 )を活用して、次期新機能開発をブロックせずにステージング検証とバグ修正だけを綺麗に収束させる手法を学びました。 本日のDay 23は、第5部 ケーススタディの第3弾として、開発サイクルの集大成である 【本番リリースとタグ打ち(安定バージョンの凍結)】 を徹底解説します! Subversion (SVN) や Visual SourceSafe (VSS) で長年開発されてきたベテランエンジニアの方なら、「リリース時に tags フォルダへ丸ごとコピーしたけれど、後から誰かが tags 配下のファイルを直接編集・コミットしてしまい、リリース時と実際のバイナリが一致しなくなった」「リビジョン番号が大きすぎてどのコミットが製品版かわからない」といった苦いトラブルを経験したことがあるはずです。 Gitのタグ機能は、特定コミットに対する 「暗号学的に改ざん不可能な不変のピン留め」 です。特に「注釈付きタグ(Annotated Tag)」を使えば、リリース担当者の署名・日時・リリースノートがリポジトリ内に永久に記録され、いつでも寸分の狂いもなく過去のリリース状態を100%再現できます。 本日は、検証完了後の安全なmainマージ手順、セマンティックバージョニング(v1.0.0)に基づくタグ打ち、C#のアセンブリバージョン( Directory.Build.props )とGitHub Releasesの自動公開連携、そしてリリース直後に絶対に忘れてはならない 「developへのマージバック(先祖返り完全防止)」 まで、現場で即座に役立つ実践ノウハウを完全網羅してお届けします! ① 導入・本日の達成目標 結合テ...

【Day 25】複数環境設定の切り替え(docker-compose.override.yml) 〜ローカル開発とCI・本番の構成を安全に多重合成するベストプラクティスとC#環境分離設計〜

▲ Day 25: 複数環境設定の切り替え(docker-compose.override.yml) 🔀 受講生の皆さん、お疲れ様です! Docker/コンテナ実践講座の専任講師です。 前回【Day 24】では、 .env と .gitignore を駆使してパスワードや機密情報を安全に隔離し、Gitリポジトリをチーム共有するセキュリティ手法を学びました。 これで安全なマルチコンテナ環境が整いましたが、次のステップとして 「環境ごとの構成の違い」 という現場特有の壁に直面します! 「開発環境ではホストPCからSQL ServerやRedisに直接GUIツールで繋ぎたいからポートを公開したい」「でも本番やCI環境では余計なポートは絶対に塞ぎたい」「ソースコードのホットリロードはローカルだけに適用したい」… 環境ごとにYAMLファイルを丸ごとコピーして別名保存していませんか? 本日【Day 25】は、Docker Compose最強の拡張機能である 「 docker-compose.override.yml による構成の自動多重合成」 と、 「C#(ASPNETCORE_ENVIRONMENT)と連動した環境切り替え設計」 を完全攻略します! ① 導入・本日の達成目標 Docker ComposeでWeb APIとDBを定義した docker-compose.yml を運用していると、必ず以下のようなジレンマが生まれます。 ⚠️ 現場で陥りがちなアンチパターン(構成ファイルの丸ごとコピー増殖): 開発用の設定と本番用の設定を分けたいあまり、 docker-compose.dev.yml と docker-compose.prod.yml をそれぞれフルセットで作成してしまう。 その結果、共通のDBサービス定義や環...

【Day 22】【Case 2】テスト・結合フェーズ(ステージング環境でのバグ出しと収束)

▲ 【Day 22】テスト・結合フェーズにおけるリリースブランチ運用とバグ収束 👨‍🏫 皆さん、こんにちは! 本講座の専任講師です。 前回のDay 21では、複数人のC#エンジニアがスプリント並行開発を進める際の「トピックブランチ完全隔離」と「毎朝のリベース習慣」を学びました。 本日のDay 22は、第5部 ケーススタディの第2弾として、開発プロジェクトの中で最もプレッシャーがかかる 【テスト・結合フェーズ(ステージング環境でのバグ出しと収束)】 を徹底解説します! Subversion (SVN) や Visual SourceSafe (VSS) で開発してきたベテランエンジニアの方なら、「リリース前テストが始まったので、今日から trunk へのコミットは全面禁止です!」というアナウンスに頭を抱えた経験があるのではないでしょうか。 テスト中のバグ修正と次期バージョンの新機能開発が同じ場所で行われていたため、開発チーム全体が「手待ち(足止め)」状態に陥っていたのです。 しかしGitなら、 リリースブランチ( release/v1.0.0 ) を活用することで、QA・結合テストでのバグ修正だけを綺麗に収束させつつ、次期機能開発チームは develop で1秒も止まることなく爆速開発を継続できます。 本日は、リリースブランチの切り方、ステージング環境へのデプロイ、C#での厳格なバグ修正コミットルール、そしてリリース完了時に絶対に欠かせない「双方向マージバック(先祖返り防止)」の実践テクニックを完全伝授します! ① 導入・本日の達成目標 システム開発が終盤に差し掛かると、QA(品質保証)チームやテスターによる結合テスト・受託受け入れテストがステージング環境で行われます。 このフェーズで最も恐ろしいのは、 「テスト中の安定版コードに、未完成の次期新...

【Day 24】docker-compose.yml のGit共有と .env のGit除外ルール 〜パスワード・接続文字列の漏洩を防ぐ安全なチーム開発とC#環境変数注入設計〜

▲ Day 24: docker-compose.yml のGit共有と .env のGit除外ルール 🔐 受講生の皆さん、お疲れ様です! Docker/コンテナ実践講座の専任講師です。 前回【Day 23】では、Web API + SQL Server + Redis という本格的なモダン3層コンテナ構成をDocker Composeで立ち上げました。 チーム開発でこの便利な環境を共有しようとした時、 絶対に避けて通れない最重要テーマが「機密情報(シークレット)のセキュリティ管理」 です! YAMLファイルに書かれたデータベースのパスワードや接続文字列を、そのままGitにコミットしてしまっていませんか? 本日【Day 24】は、設計図( docker-compose.yml )を安全にチーム共有しながら、パスワードを完全にGitから隔離する 「 .env と .gitignore によるセキュリティ運用」 と、 「C#(IConfiguration)への環境変数注入設計」 を徹底解説します! ① 導入・本日の達成目標 「docker-compose.yml が便利だから、Gitリポジトリにプッシュしてチームメンバーにも共有しよう!」 そう思った瞬間、ふと手が止まった経験はありませんか? ⚠️ 現場で頻発する危険なシチュエーション: MSSQL_SA_PASSWORD: "MyStrongPassword123!" と書かれたComposeファイルを、そのままGitリポジトリへコミット&プッシュ。 その瞬間、GitHubや社内GitLabの全閲覧者に対してデータベースの管理者パスワードが丸見えになり、コミット履歴(git log)にも永久に刻み込まれてしまう…! オン...