ibahnasy
(Islam)
2023 年 4 月 7 日午後 4:20
1
既存のインスタンスからDiscourseコンテナとDiscourseのDockerファイルを古いバージョンでエクスポートし、別のサーバーにインポートしました。
新しいサーバーに合わせてDiscourseのホスト名を変更する必要があります。
新しいDISCOURSE_HOSTNAME:を再ビルドせずに有効にする方法はありますか?
再ビルドが必要な場合、mainブランチから最新バージョンを取得して、現在持っているバージョンを上書きしますか?現在のバージョンを正確に実行する必要があるためです。
Canapin
(Coin-coin le Canapin)
2023 年 4 月 7 日午後 4:29
2
こんにちは、イスラムさん
私の知る限りではありません。
はい、そのようになります。
達成したいことに関連する情報は、こちらで見つけることができます: Search results for 'install version discourse' - Discourse Meta
pfaffman
(Jay Pfaffman)
2023 年 4 月 7 日午後 5:57
3
Let’s Encrypt の設定を変更する必要があり、それが(少なくとも部分的には)再構築が必要な理由です。
なぜアップグレードしないのですか?それが本当に必要なことです。どのくらい古いのですか?
しかし、discourse_docker(別名 /var/discourse)と、あなたが現在使用している Discourse のバージョンを固定することはできます。すべてのプラグインも固定する必要があるかもしれません。
もし HTTPS の解決を別のものが行っている場合、再構築を回避して、Change the domain name or rename your Discourse の他の作業を行うだけで済むかもしれません。
ibahnasy
(Islam)
2023 年 4 月 7 日午後 6:38
4
本番環境にアップグレードをテストするために、そのインスタンスで同じバージョンが必要になります。成功すれば、本番環境でアップグレードを実行します。
HTTPS の解決を別のものが行っている場合、再構築を回避して、ドメイン名を変更または Discourse を名前変更する で説明されている他のことを行うだけで済むかもしれません。
HTTPS はロードバランサーで処理されますが、そのリンクでは app.yml を変更した後に再構築する必要があると書かれています。
バージョンを固定する場合、discourse_docker については、現在のコミットハッシュをチェックアウトする必要がありますか?
コンテナ内の Discourse アプリについては、app.yml で version: <commit_hash> を使用して現在のコミットハッシュを設定する必要もありますか?
プラグインについてはどうですか?
pfaffman
(Jay Pfaffman)
2023 年 4 月 7 日午後 7:03
5
テストサーバーに現在のバージョンをインストールし、データベースを復元すれば、本番サーバーをアップグレードできる可能性が高いです。
あなたが提案していることは、おそらく数時間の作業であり、フォーラムで説明するのが非常に難しい、たくさんの紛らわしい小さな部分があり、本番データベースを新しいサーバーに復元することでは証明できないものです。
ステージングサーバーと本番サーバーを同じS3バックアップバケットに向け、本番環境をバックアップしてステージングサーバーに復元するだけです。今後、それらは同等になり、ステージングと本番環境を迅速に連続してアップグレードできます。
「いいね!」 1
ibahnasy
(Islam)
2023 年 4 月 7 日午後 7:24
6
再構築をトリガーしましたが、以下のようになりました。
I, [2023-04-07T19:17:58.707365 #1] INFO -- : cd /var/www/discourse & gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
ERROR: Could not find a valid gem 'bundler' (= 2.3.4), here is why:
Unable to download data from https://rubygems.org/ - Net::OpenTimeout: execution expired (https://rubygems.org/specs.4.8.gz)
しかし、ホストから rubygems.org を curl できます。
pfaffman
(Jay Pfaffman)
2023 年 4 月 10 日午後 4:22
8
コマンドラインから再構築しましたか? 標準的なインストールですか?
ibahnasy
(Islam)
2023 年 4 月 10 日午後 4:52
9
はい、再構築コマンドとGUIからのアップグレードも同じエラーを発生させました。
エラーのためフェッチャーをリトライ中 (4/4): Bundler::HTTPError 基本エラー <Net::OpenTimeout: execution expired (https://rubygems.org/specs.4.8.gz)> により https://rubygems.org/ からスペックを取得できませんでした
ロックされたバンダーバージョン (2.4.4) のインストール中にエラーが発生しました。詳細については `--verbose` フラグを付けて再実行してください。バンダー 2.3.6 を使用して続行します。
ソースインデックスを https://rubygems.org/ から取得中
基本エラーにより https://rubygems.org/ からスペックを取得できませんでした
<Net::OpenTimeout: execution expired (https://rubygems.org/specs.4.8.gz)>
Docker Manager: アップグレードに失敗しました