Go + Vue複数WEBとNginxの停止なしのdeploy方法
提供する内容(全部入り)
- Blue/Green 用 Nginx(ロードバランサー側)設定
- App サーバー側の Nginx(静的ファイルなど)設定例
- systemd の Blue/Green 起動設定(chat-blue / chat-green)
- vite.config.js(public 共有 を考慮して調整済)
- GitHub Actions の deploy.yml(複数 App サーバーへデプロイ)
- Blue/Green 全体の「正しいデプロイルール(順番)」
とにかく “動く実物” を提供します。
あなたはこれをコピペしたら Blue/Green HA が完成します。
ではいきます!🔥
1. Nginx(ロードバランサー / LB)設定
chat_upstream_blue.conf
chat_upstream_green.conf
chat_active.conf(Blue or Green のリンク)
切替:
2. App サーバー側の systemd(blue / green)
chat-blue.service
chat-green.service
3. App サーバー側のディレクトリ構成
4. Vite(public 共有、assets だけ差し替え)
ユーザーアップロード public/data/ は保持したいので
dist/assets → public/assets にのみ上書きする構成にしておく。
5. GitHub Actions(複数 App サーバーへ Blue/Green デプロイ)
前提:
deploy.yml(完全動作品)
6. BLUE / GREEN デプロイの正しい順番
① Green(新バージョン)を全 App サーバーへデプロイ
② Green が正常に動いているか確認
③ LB の upstream を Green に切替(無停止)
④ Blue を停止(クリーンアップ)
登録日:
更新日:
by
プログラマーこまつ