mreach
(M. Reacher)
1
長年、Discourseのインストールがv2.9.0.beta1で止まっているという問題がありました。個人的な事情で、長年解決できませんでした。当時、v2.9.0.beta2への移行は不可能に思えました。最近、再構築の問題をトラブルシューティング中に、app.ymlの特定のフック(特にタグチェックアウトを強制するもの)をコメントアウトしました。以下のようになります。
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- exec:
cd: $home
cmd:
# - git fetch --depth=1 origin tag v2.9.0.beta2 --no-tags
# - git checkout v2.9.0.beta2
- echo "Skipping version upgrade hook"
再構築後、私のインスタンスは予期せず3.4.0.beta4-devにアップデートされました。その問題が解決して嬉しいのですが、現在は3.4.xの安定版リリースが利用可能になるまで3.4.0ベータストリームに従うようにし、安定版が利用可能になったら、それ以降のベータ版や開発版に自動アップグレードされないようにその安定版に固定したいと考えています。
安定版が利用可能になったら、再構築のたびにロールバックや手動介入を行うことなく、リリースを安定版に「ピン留め」またはロックする適切な方法はありますか?
ガイダンスやベストプラクティスがあれば、大歓迎です!
pfaffman
(Jay Pfaffman)
3
tests-passed を stable に変更してください。app.yml にそれがない場合は、サンプルディレクトリを参照してください。
「いいね!」 1
mreach
(M. Reacher)
4
ありがとうございます。以前は以下のようになっていました。
## Which Git revision should this container use? (default: tests-passed)
#version: tests-passed
これを以下のように更新しました。
## Which Git revision should this container use? (default: tests-passed)
version: stable
再構築後、システムは次のようになりました。3.5.0.beta1-dev
これはさらに奇妙で特異なことのように思えます。
pfaffman
(Jay Pfaffman)
5
再構築後、バージョンを安定版に変更したようですね。安定版を超えているため、次の安定版リリースまでベータ版またはテスト合格に変更する必要があります(先週安定版があったため、かなりの時間がかかるでしょう(通常8〜10か月))。
「いいね!」 1
mreach
(M. Reacher)
6
いいえ、残念ながらそうではありませんでした… 100%確実です。3.4.0.beta4-dev で app.yml を変更してから再構築しました。その後 3.5.0.beta1-dev が表示されました。これは100%この手順で進められました… 明確にするために、これについては全く疑いありません。実際に、指摘した操作の前に確認しました。
pfaffman
(Jay Pfaffman)
7
tests-passed を含む行は # で始まっていますか?
pfaffman
(Jay Pfaffman)
9
コメントアウトされているため、そこに入力した内容は関係なく、デフォルトはテストに合格した状態になります。
最新のテストに合格した状態に再構築したとき
mreach
(M. Reacher)
10
pfaffmanさん、度々のご協力ありがとうございます。現在の理解をまとめると以下のようになります。
- 私たちのインスタンスは、安定版とは見なされない 3.4.0.beta4-dev で実行されていました。
- 設定を
version: stable を使用するように更新したとき(デフォルトはコメントアウト)、将来の再構築でインスタンスが安定版ブランチに固定されると予想していました。しかし、すでにベータ版を使用していたため、アップデートは続行され、結果として 3.5.0.beta1-dev になりました。
- 安定版タグを過ぎてから
version: stable に切り替えてもロールバックはトリガーされないようです。これは、安定版以下であれば、ベータ版を追跡するのではなく、安定版にピン留めされることを意味します。
これで合っていますか?
さらに、将来的に誤ってベータ版チャンネルを追跡しないようにするための推奨プロセスを明確にしていただけますか?具体的には:
- 安定版リリースが利用可能になった場合、安定版に到達する前にそれを過ぎていなければ、再構築がそれに固定されることを保証するために、アクティブな設定として
version: stable を残しておくだけで十分ですか?
- ベータ版/開発版に誤って更新されるのを回避するために、実行すべき追加の手順やクリーンアップタスク(他の設定要素の削除や変更など)はありますか?
できるだけ早く安定版リリースに固定したいのですが、再び飛び越えてしまうのは避けたいです…
pfaffman
(Jay Pfaffman)
12
おっと!携帯で見るのが早すぎたのかもしれません。どうしてそれを見逃したのか、そしてサイトが現在 3.5.0.beta1-dev で動作しているのか、私には説明がつきません。
「いいね!」 2
jmbeuken
(Jean-Michel Beuken)
13
こんにちは。
Postgres 13 から 15 への移行に関連する 3.4.0.beta4-dev アップデートの不具合に見舞われましたが、機能するバージョン 3.5.0.beta1-dev を復旧することができました。
現在、ダッシュボードには新しいバージョンがあります。
Installed Latest
3.5.0.beta1-dev 3.5.0.beta1
(b37b51d15f)
しかし、アップデートページには次のように表示されています。
Name Commit Hash Last Updated Latest Version Status
New version available! v3.4.0.beta4 +182 43 mins ago v3.5.0.beta1 +8 Update
アップデートしても安全でしょうか?
よろしくお願いいたします。
「いいね!」 1