Pekkanen
(Pekkanen)
1
app.yml の SMTP 設定を更新したいのですが、Discourse のバージョンは変更したくありません。
version タグでバージョンを指定すると、以下のエラーでビルドが失敗します。現在はバージョン 2.4.0.beta8 です。
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+ failed with return #<Process::Status: pid 336 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "find $home ! -user discourse -exec chown discourse {} \\+"]}
6269af00c2a4671a6fd2cb13a55bd475743205262bae7f483bf468e4dcacbeed
** FAILED TO BOOTSTRAP ** 上記をスクロールして、それ以前のエラーメッセージを確認してください。複数のエラーが出ている可能性があります。
./discourse-doctor で問題の診断ができるかもしれません。
「いいね!」 1
Remah
(Just another happy Discourse user)
2
これは毎年話題になり、おそらく howto トピックとして作成されるべきです。私は「特定のバージョン」で検索しました:
「いいね!」 1
Pekkanen
(Pekkanen)
3
はい、ここでの違いは、yml でバージョンタグを使用している点ですが、再ビルド時にエラーが発生します。
「いいね!」 1
pfaffman
(Jay Pfaffman)
4
SMTP設定の変更のみが必要な場合は、
./launcher destroy app
./launcher start app
を実行してください。
「いいね!」 5
Pekkanen
(Pekkanen)
5
はい、つまりリビルドされなくてもymlを読み取るのですね、問題なさそうです。これで私の緊急問題は解決しますが、なぜバージョンが機能しないのかについては依然として興味があります。
pfaffman
(Jay Pfaffman)
6
「エラーが発生した」とおっしゃいましたが、それは何かを誤って実行されたことを意味します。私の推測では YAML の書式エラーだと思われますが、具体的なエラー内容がわからない限り、正確な原因を特定することはできません。
申し訳ありませんが、スクロールして過去のエラーメッセージを確認してください。複数のエラーが表示されている可能性があります。
./discourse-doctor を実行すると、問題の診断に役立つかもしれません。
「いいね!」 3
Pekkanen
(Pekkanen)
7
はい、投稿で提供した情報が十分でなかったことは確認できました。バージョンタグなしで yml が正常に動作することから、これはフォーマットエラーではないと考えています。
さらにテストを行ったところ、遭遇したバグはバージョン 10 と 11 では発生しませんが、バージョン 4 から 9 では発生するようです。
出力には 2 つのエラーしか見当たりませんが、これらは想定されるものだと考えられます:
2020-02-22 10:42:33.410 UTC [62] postgres@postgres ERROR: database "discourse" already exists
2020-02-22 10:42:33.533 UTC [73] postgres@discourse ERROR: role "discourse" already exists
バージョン 10 のリリースノートを確認しましたが、これに関連する修正の記載は見つかりませんでした。
修正されたことは素晴らしいことですし、SMTP 設定に対する回避策(月曜日にテストする予定です。週末に本番サーバーを弄りたくないため)のおかげで、私にとって緊急の対応は不要です。しかし、テストでは検出されず、偶然の修正で「直った」のではなく意図的な変更で修正された場合、将来再び発生する可能性のある不明なエラーがあるかどうかを知っておくことは重要です。つまり、将来バージョン関数がどの程度安定して動作すると期待できるのかを知りたいと考えています。
以下は、ターゲットバージョンを v2.4.0.beta9 に設定して実行した際の出力ダンプです。
dump_disco_version_error.txt (127.5 KB)
Pekkanen
(Pekkanen)
8
ついにテストする時間が取れましたが、動作しませんでした。アプリ起動時に正しいパスワードが表示されていることは確認できましたが、アクセス拒否のためメールの送信は依然として失敗しています。
pfaffman
(Jay Pfaffman)
9
ふむ、以前は機能していたはずです。他の設定が設定ファイルに反映されないケースをいくつか見かけました。これがバグとみなされるかどうかはわかりません。
Pekkanen
(Pekkanen)
10
古いバージョンを使用している可能性もあるため、最新版では動作するとは限りません。私の発見を共有したかっただけです。
Pekkanen
(Pekkanen)
11
この件について再度確認する必要がありました。バージョン指定はブランチには機能するようですが、タグには機能しないようです。おそらく、ランチャーがすべてのタグを最初に取得しないためだと思われますが、確信はありません。ランチャーのスクリプトを編集する方法はありますか?
Pekkanen
(Pekkanen)
12
ついに問題の原因を特定しました。discourse_docker リポジトリと discourse リポジトリは相互に依存しており、特定のバージョンの discourse をインストールするには、discourse_docker リポジトリの特定のバージョンが必要です。残念ながら discourse_docker リポジトリにはタグが存在しないため、特定のバージョンをインストールするために使用する SHA を特定するのが容易ではありません。少なくとも結論が出たことは嬉しいです。今後のインストールについては、この件についてメモを取ることにします。
「いいね!」 1