【1】困っていること・起きている問題
XServer StaticのGitHub自動デプロイを利用していますが、公開対象のmainブランチを更新しても、サイトに変更が反映されません。
XServer側でGit連携設定を開き、設定内容を変更せずに再保存すると、最新の内容が反映されます。毎回この操作が必要な状態が継続しており、複数のサイトで同じ症状が発生しています。
再保存後は正常に公開できるため、自動反映されない原因と、恒久的な改善方法を知りたいです。
【2】何をしようとしていたときに起きたか
ローカルでサイトを修正・ビルドし、GitHubへプッシュした後、Pull Requestをmainブランチへマージして本番サイトを更新しようとした際に発生しました。
GitHub上のmainは更新されているものの、XServerのデプロイ履歴は以前のコミットのままで、公開サイトにも古い内容が表示されていました。
【3】試したこと・確認したこと
・XServerのGit連携設定を変更せずに再保存
→ 最新の内容が正常に反映されました。
・GitHub App「XServer Deploy」の設定を確認
→ インストール済みで、Repository accessは「All repositories」です。アプリは停止されておらず、コードとメタデータの読み取り権限があります。
・公開サイトのHTMLを確認
→ 再保存前は古い内容、再保存後は更新後の内容になっていました。
・リポジトリのWebhook一覧を確認
→ 登録は0件でした。ただしGitHub App経由の連携なので、この状態が正常なのか判断できていません。
GitHubからの更新通知や、XServer側の自動デプロイ処理について、利用者側で確認できる項目があれば教えてください。同様の症状を解決された方がいれば、対処方法をご教示いただけると助かります。
【4】利用環境
・サービス:XServer Static
・端末:Mac
・OS:macOS
・ブラウザ:Google Chrome、Safari
・GitHub連携:GitHub App「XServer Deploy」
・公開対象ブランチ:main
・サイト構成:Astroで生成した静的サイト
・公開ディレクトリ:/dist
・ビルド済みのdistをGitHubに含めています。
私の環境では
VScode ⇒ github ⇒ [XServer Deploy] ⇒ XServer Static
でスムーズにデプロイできたのですが
Webhooks欄には何もありません。
他のリポジトリでGitHub APPs経由ではない場合は
自動的にWebhooksの欄に情報が追加されていたので
おそらくXServer Deploy経由ではこれが正常な状態なのだと思います。
なお、Repository accessは「Only select repositories」を選んでいます。
[XServer側の自動デプロイ処理について利用者側で確認できる項目]
どこかにログがないかと探してみたところ
・サーバーの管理画面にデプロイ履歴がある
・リポジトリの Archivesにある『Security log』で『integration XServer Deploy operation_type modify』などの履歴が残っている
対処法まではわかりませんが
参考になれば幸いです。
ご丁寧にご回答いただき、ありがとうございます。
大変参考になりました。
教えていただいた内容をもとに、GitHubとXServer Staticの設定を改めて確認しました。
-
GitHub Appsの「XServer Deploy」はインストール済み
-
Repository accessは「All repositories」に設定
-
GitHubのWebhooks欄は空欄
-
Security logには、XServer Deployへのリポジトリ追加履歴やトークン再生成の履歴が存在
-
XServer Staticのデプロイ履歴では、デプロイ自体は正常に成功
ただし、現状ではGitHubのmainブランチに変更を反映しても、自動デプロイが開始されません。
一方で、XServer Staticの管理画面からGit連携設定を再保存すると、「待機中」となり、その後正常にデプロイされるという状況です。
そのため、GitHubとの連携やデプロイ処理自体は機能しているものの、GitHubの更新を検知して自動デプロイを開始する部分に問題があるのではないかと考えています。
Webhooks欄が空欄でも正常に動作するという情報は、特に参考になりました。
引き続き設定を確認し、解決しない場合はXServerのサポートにも問い合わせてみようと思います。
貴重な情報をご共有いただき、ありがとうございました。