2.6.0.beta1から最新へのアップグレード

こんにちは。

現在 2.6.0.beta1 を実行しており、最新の安定版にアップグレードしたいと考えています。2.6.0 は古いバージョンですが、何か注意すべき点はありますか?もちろん、まずバックアップは取りますが、何かヒントがあれば教えていただけますでしょうか :slight_smile:

VMのOSがサポートされている可能性は低いです。既存のサイトのバックアップを復元してから、データベースファイルを除き、新しいコンテナを構築して、rsyncを使用してDiscourseサイトを別のVPSに移動することをお勧めします。

実際には、既存のapp.ymlを使用するのではなく、新しいdiscourse-setupを実行し、SMTP設定などをコピーすることをお勧めします。そこにもいくつかの変更がありました。

一時的にVMのOSをアップグレードして最新の状態にしたとしても、それ以降PostgreSQLのアップグレードが少なくとも2回行われています。インプレースアップグレードを試みても、うまくいかないでしょう。試してみて失敗した場合、「だから言ったのに」とは言いませんが、何も言わないでしょう。

お返事ありがとうございます。新しいサーバーへの移行も必要となるため、当初の計画ではまず古いDiscourseを新しいサーバーに移行してからアップデートを行う予定でした。

それでも新しいDiscourseのインストールをお勧めしますか?

新しいサーバーへの移行は、新しいサーバーが動作するまで古いサーバーを変更する必要がないため、はるかに安全です!

私がやるなら、rsyncガイドに従い、postgres_*を除外します。次に、app.ymlの名前を変更し、./discourse-setup --skip-connection-testを実行します(まだDNSが新しいサーバーを指していないため)。その後、バックアップを復元します。通常、ローカルDNSを新しいサーバーに向けることで、新しいサーバーが動作するかどうかをテストできますが、最悪の場合、DNSを変更し、それが大惨事であればDNSを元に戻すだけです。(DigitalOceanや、複数のVMを指すことができるフローティングIPがある場合は、それらを再ポインティングするだけで、DNSをいじる必要はありません。)

私はここ数ヶ月でこれを約10回行いました。ご自身でやりたくない場合は、対応可能です。

「いいね!」 1

ジェイさん、

プライベートメッセージで連絡しました。

「いいね!」 1

OK、これはいつも疑問に思っていたことです。ステージングドメインは不要ですか?ドメインが変わる(2回)ので、何も書き直されない(2回)ということはありませんか?

If you copy the ssl and let’s encrypt directories, you have the certs for the existing host name. The server is ready to serve that domain, but dns doesn’t point there, so it can’t.

I usually just copy over the existing yml files, but for this very old site, getting a fresh one is not a bad idea, and in this case, I think I’ve learned that there were some strange modifications that I think will be good to leave behind).

BUT, if you’re clever you can trick your browser into going there and see that things look good, and then you can switch the dns so everyone else sees it. (and hopefully remember to un-trick your browser so that you’re not very confused sometime in the future.)

「いいね!」 1