Skip to content

PR単位でステージングプレビュー環境を自動構築する #87

@fumikito

Description

@fumikito

背景

現在はステージング環境に main マージまたは staging-xxxxx タグで自動デプロイしているが、「これからリリースするかもしれない機能」をPRの段階でステージング精度で確認できない。

課題

  • PRをマージしないとステージングで確認できない
    • タグ付け運用はレビュアーが忘れやすい

提案する構成

PR作成 → GitHub Actions で自動デプロイ → PRコメントにURLが貼られる → レビュー後 workflow_dispatch で main にマージ

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: staging
    steps:
      - name: ステージングにデプロイ
      -         run: # 既存のデプロイスクリプト
      - name: PR にURLをコメント
      -         uses: actions/github-script@v7
      -         with:
      -           script: |
      -             # 既存コメントがあれば更新、なければ新規作成
      -             # <!-- staging-preview --> タグで識別
      - ```
## 注意点

- ステージング環境が1つの場合は複数PR同時デプロイの競合に注意
- - 大量データ・外部連携があるサイトではフルコピーではなく軽量スナップショット+匿名化DBを使う
- - - 外部プッシュ配信(Yahoo!ニュース等)は `DISABLE_EXTERNAL_PUSH` フラグでステージングでは無効化
## 関連イシュー

- ステージングキュー管理(ラベルベース)と組み合わせて使う

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions