できること
GitHub Pagesは、GitHub Actionsのワークフローと組み合わせることで、PRをオープンするたびに自動的にプレビューを生成できます。たとえばactions/deploy-pagesアクションを使えば、gh-pagesブランチへの自動デプロイが数行のYAMLで実現できます。社内のデザインレビューや技術検証には非常に効率的な仕組みです。
また、GitHub PagesはCDNとして機能するため、日本・北米・欧州などグローバルにチームが分散している場合も高速に表示されます。タイムゾーンをまたいだ非同期レビューにも対応できます。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
できないこと
GitHub Pagesでは、ブランチを削除しない限りプレビューURLが有効であり続けます。案件が終了した後も過去のプレビューURLにアクセスできる状態が残るため、クライアントが古い版を参照して「この仕様のはずでは?」という混乱が生じることがあります。
特定のIPアドレスやユーザーだけに閲覧を限定することもGitHub Pages単体ではできません。外部パートナーへのNDA前の確認・競合他社の担当者が混じりうる勉強会参加者への共有などには対応できません。
認証と期限の違い
GitHub Pagesのデプロイは「常時公開」が基本です。期限をURLに紐付ける仕組みがないため、「このURLは7日後に無効になります」という案内ができません。クライアントに口頭で伝えても記録に残らず、失効させるにはブランチ削除などの手作業が必要です。
一時共有URLサービスでは、URL発行時にカレンダーで期限を選ぶだけです。期限が過ぎると自動でアクセス不可になり、管理作業は不要です。たとえば「金曜提出・月曜までにフィードバック」というスケジュールなら、翌月曜の18時を期限に設定しておけば自動で閉じます。
- 誰でも見てよい: URL共有のみでもよいが、検索除外は確認する
- 特定の相手だけ: パスワードまたはメール認証を使う
- 会社内だけ: 会社ドメイン認証を検討する
- 短期レビュー: 期限を設定して古いURLを残さない
差し替え・レビュー運用
GitHub Pagesで差し替えを行うには、ブランチへのプッシュが必要です。修正が頻繁な初期フェーズではGitのコミット粒度とデプロイが連動するため、実装速度とレビュー管理を同時に進めやすい利点があります。ただし社外レビュアーにURLを伝えるたびに「最新コミット後のURLか」を確認する手間があります。
切り替えのベストタイミングは「社内でのデザイン承認が完了し、クライアントへの正式提出書類としてURLを発行する段階」です。それ以前はGitHub Pagesを社内インフラとして活用し、提出直前にZIPを書き出してギガサイト便などで期限付きURLを発行することで、開発フローを乱さずにセキュアな外部共有が実現できます。
- 確認してほしい観点を3つ以内に絞る
- 期限と返信先を明記する
- 修正後も同じURLで見られるか伝える
- 最終版と途中版が混ざらないようタイトルを付ける
向いているケース早見表
GitHub Pagesが引き続き適切なのは、社内エンジニアやデザイナーが確認する開発中プレビュー・OSS貢献者へのドキュメント参照・テクニカルライターによる文書レビューなど、情報管理よりスピードを優先できる社内外の工程です。
一時共有URLへの切り替えを検討するのは、クライアントに正式提出する・NDA締結前の仕様確認を求めない・承認記録を残す必要があるなど、「法的・商業的に意味を持つ確認行為」になった時点です。ビジネス上のリスクが発生するフェーズで、ツールも対応するレベルに引き上げましょう。
よくある質問
GitHub Actionsで自動生成したプレビューURLは、マージ後に自動で削除されますか?
デフォルトでは削除されません。gh-pagesブランチへのデプロイは上書き更新されるため、過去バージョンのURLは残らない設計が多いですが、PRプレビュー専用の設定をしている場合はPRクローズ時のクリーンアップアクションを別途追加する必要があります。
クライアントへの提出と同時にGitHub Pagesに本番デプロイすることは問題ありませんか?
コンテンツが公開可能な状態であれば問題ありません。ただし承認前の提出物を本番公開してしまうと、修正が入った際の差し戻しが発生します。承認完了後に本番デプロイするフローを先に決めておくことを推奨します。
GitHub PagesのURLをSlackに貼ったら外部メンバーが見てしまいました。どう対処しますか?
即時対応としてGitHub PagesをリポジトリのSettingsから無効化してください。その後、同じコンテンツを認証付き共有サービスで再発行し、正式な受取人のみに新URLを通知する流れが適切です。次回からは社外への共有前に認証付きURLを使うルールを設けることを検討してください。