2.9.0.beta8からのアップグレードでサイトが破損し、復旧不能

こんにちは

管理者のアップグレードボタンをクリックしただけです。
まさかこんなことになるとは思いませんでした。

おっと
このディスカッションフォーラムを支えるソフトウェアで予期せぬ問題が発生しました。ご迷惑をおかけして申し訳ありません。

エラーに関する詳細情報は記録され、自動通知が生成されました。確認いたします。

それ以上の操作は必要ありません。ただし、エラー状態が続く場合は、サイトのフィードバックカテゴリにディスカッションのトピックを投稿することで、エラーを再現するための手順を含む追加の詳細を提供できます。

さて、これは少し残念ですが(サイトに数千人のユーザーがいる場合にこれが起こったらどうなるでしょうか?)、まだユーザーはいません。幸運でした。しかし、サイトを復旧させることができません。不吉な「自動通知が生成されました」を除いて、明白なエラーはありません。誰がその通知を受け取りましたか?それは何と書かれていますか?なぜ単純なソフトウェアのアップグレードでサイトが消滅してしまうのですか?どうすればそれを修正できますか?

「いいね!」 3

フォーラムの /logs にまだアクセスできますか?通知はそこにありました。
最後の 2 つの質問には、それを確認した後にのみ回答できます。

「いいね!」 3

残念ながら何も機能しなくなってしまいました。そのため、バックアップサーバーを再インスタンス化する必要があり、再びアップデートすることに少し慎重になっています。

セーフモードでアップデートする方法はありますか?ソフトウェアがアップデートされるたびに、完全なダウンタイムのリスクを負わなければならないとは信じがたいです。

それはDiscourseを含むすべてのアプリに共通する実際のリスクです。だからこそ、大企業はステージングサーバーを使用し、私たちのような小規模なユーザーは、アップデート前、少なくともアップグレード前には(サイトとデータベースの両方を)バックアップを取っています。

「いいね!」 3

こんにちは、@smileBeda さん :slightly_smiling_face:

セットアップについて、もう少し詳しく教えていただけますか?例えば、実行しているバージョン、標準インストールかどうか、プラグイン(公式またはサードパーティ製)があるかどうかなどです。

通常、アップグレードは非常にスムーズに進みますが、万が一に備えて、直前にライブサイトのバックアップを取っておくことは常に賢明です。

「いいね!」 4

実行中のバージョンは 2.9.0.beta8 です。
アップデートを求められているのは docker_manager 45986ad4 (Comparing 45986ad40ec642ea617a083aecc75e0078878fb7...90a8a6c6cae0bba01de7fdf340da1ab878bff913 · discourse/docker_manager · GitHub) です。

Dockerからの標準的なインストールですが、いくつかのプラグインを使用しています(ただし、特に変わったものではなく、現時点ではカスタムコードはありません)。

この時点では(エラーログなしでは)これ以上お伝えできません。バックアップを取得した後、アップデートを実行し、失敗した場合はログを提出する必要があると思います。

「いいね!」 1

app.yml ファイルをここに貼り付けていただけますか?そうすれば、何がどうだったのかが分かりやすくなります。

「いいね!」 3

このトピックには、サーバーから手動で更新する方法についての良いポインタも含まれています。

./launcher rebuild app はしばしば良い代替案となり、その間にエラーが発生した場合は、上にスクロールして読むことができます。

「いいね!」 4

実行したのは

 ./launcher rebuild app

ですか、それともWebインターフェースからアップグレードしましたか?完全な再構築が必要な場合があります。

お探しのログは以下にあります

     /var/discourse/shared/log/rails/production.log

(携帯電話で正しく入力できていれば)

「いいね!」 5

ほぼ合っています :grin:
/var/discourse/shared/standalone/log/rails/production.log
そして、おそらく
/var/discourse/shared/standalone/log/rails/production_errors.log

「いいね!」 5

これについて詳しく教えていただけますか?どのプラグインですか?

「いいね!」 3

まさにその通りです。だから、彼らにapp.ymlファイルを貼り付けたり共有したりするように頼んだのです。

「いいね!」 4