こんにちは、
以前に遭遇したことがない奇妙な問題に直面しています。Discourse のインストールに対する更新に関するメール通知を受け取りました。リンクをクリックすると、他の更新を行う前に Docker インストールを更新する必要があると表示されました。
これは以前にも何度も見たことがあり、ワンクリックインストーラーを使用してアップグレードしました。今回はプロセス中に呼び出されたことが異なりました。数時間後に戻ると、Docker が正常にインストールされたことがわかりました。
その後、上部の「バージョン」をクリックして他のすべての更新を行うつもりでしたが、その画面が読み込まれたところ、完全に空白でした。以下のような状態です:
その後、元のメールに戻り、ワンクリックアップデーターのリンクをクリックしましたが、同じ結果でした。
別のブラウザで https://community.amwcomics.com/admin/upgrade という URL を読み込んでみましたが、同じ結果でした。
私が何か間違っているのでしょうか?この問題以外では、サイトは正常に読み込まれています。ただ、ワンクリックアップデーターでは何も表示されません。
gerhard
(Gerhard Schlager)
2
この問題を解決するには、コマンドラインでアプリを再構築する必要があります。
cd /var/discourse
git pull
./launcher rebuild app
この問題は定期的に投稿されていますね。このようなアップグレードの際に、必要に応じて自動的に再構築し、最新のプルを実行する機能を組み込むことは可能でしょうか?コマンドを実行できない状況にある方々や、サポート対応が遅れて再構築ができず、サイト管理者にとって都合の悪い時間に作業を強いられてしまうケースを想定しています。
Stephen
(Stephen)
4
アプリケーション全体が再構築のために停止しており、そのプロセスを管理するものは何も実行されていません。
もし管理プロセスが作成された場合、そのプロセス自体が再構築を必要とした時にはどうすればよいでしょうか?
それはもっともな指摘ですね。最終的には、手動でのアップグレード対応が必要な段階が必ず訪れます。あえて反論するとすれば、管理プロセスの主な役割がアプリケーションの再構築を呼び出すことである場合、再構築の回数は大幅に減るはずです。それは、依存関係を最小限に抑え、ロールアウト変更もほとんど行わずに実現できるはずです。
Stephen
(Stephen)
6
頻繁にアップグレードしたくないのであれば、アップグレードの頻度を減らせばよいでしょう。
ベースイメージへの機能強化を継続しないという主張は、説得力に欠けると考えます。コマンドによる更新の必要性は状況により異なり、頻繁ではありませんし、緊急に行う必要があるケースはさらに稀です。
実は、そのような主張をしていたとは気づいていませんでした。更新の頻度が減ることを推奨しているわけではありませんよ 
単に、頻度は低くても手間がかかるかもしれませんが、品質向上(QoL)機能として何が役立つと思うかフィードバックを述べただけです。必要に応じてコマンドを実行することに私は問題ありません。
折衷案として、そのコマンドの実行が必要な更新が適用された際、管理者にダッシュボードのどこか(あるいはバナーなど、方法はお任せします)で明確に通知されるようにするのはどうでしょうか。これにより、「更新したら xyz が空白/欠落/動作しない」といった投稿が今後減るかもしれません。
sam
(Sam Saffron)
8
その画面が白くなる原因を修正しました。
Discourse の古いバージョンと互換性がなかった docker manager プラグインをアップグレードしていたため、互換性を回復するコードを追加しました。残念ながら、一度その画面が白くなると、以下の手順以外に回復手段はありません。
cd /var/discourse
./launcher rebuild app
ありがとう、サム(そして @gerhard さん!)。以前はアプリをアップグレードする前にコマンドラインを使って再構築するように指示されたことがありましたが、この白い画面に遭遇したのは初めてです。それには理由があり、それが修正につながったことがわかって安心しました。
現在、コマンドラインを使って再構築を進めています。
追記: 処理が完了し、すべて正常に動作しています。バージョンページにはすべてのプラグインが表示され、すべてが更新されていることが確認できました。