v2.9.0.beta1でスタック – フック無効化後、3.4.0.beta4-devを実行中。安定リリースに固定する方法は?

長年、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ベータストリームに従うようにし、安定版が利用可能になったら、それ以降のベータ版や開発版に自動アップグレードされないようにその安定版に固定したいと考えています。

安定版が利用可能になったら、再構築のたびにロールバックや手動介入を行うことなく、リリースを安定版に「ピン留め」またはロックする適切な方法はありますか?

ガイダンスやベストプラクティスがあれば、大歓迎です!

こちらのガイドをご覧ください。

tests-passedstable に変更してください。app.yml にそれがない場合は、サンプルディレクトリを参照してください。

「いいね!」 1

ありがとうございます。以前は以下のようになっていました。

  ## 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

これはさらに奇妙で特異なことのように思えます。:thinking:

再構築後、バージョンを安定版に変更したようですね。安定版を超えているため、次の安定版リリースまでベータ版またはテスト合格に変更する必要があります(先週安定版があったため、かなりの時間がかかるでしょう(通常8〜10か月))。

「いいね!」 1

いいえ、残念ながらそうではありませんでした… 100%確実です。3.4.0.beta4-devapp.yml を変更してから再構築しました。その後 3.5.0.beta1-dev が表示されました。これは100%この手順で進められました… 明確にするために、これについては全く疑いありません。実際に、指摘した操作の前に確認しました。

tests-passed を含む行は # で始まっていますか?

エディターのスクリーンショット:

コメントアウトされているため、そこに入力した内容は関係なく、デフォルトはテストに合格した状態になります。

最新のテストに合格した状態に再構築したとき

pfaffmanさん、度々のご協力ありがとうございます。現在の理解をまとめると以下のようになります。

  • 私たちのインスタンスは、安定版とは見なされない 3.4.0.beta4-dev で実行されていました。
  • 設定を version: stable を使用するように更新したとき(デフォルトはコメントアウト)、将来の再構築でインスタンスが安定版ブランチに固定されると予想していました。しかし、すでにベータ版を使用していたため、アップデートは続行され、結果として 3.5.0.beta1-dev になりました。
  • 安定版タグを過ぎてから version: stable に切り替えてもロールバックはトリガーされないようです。これは、安定版以下であれば、ベータ版を追跡するのではなく、安定版にピン留めされることを意味します。

これで合っていますか?

さらに、将来的に誤ってベータ版チャンネルを追跡しないようにするための推奨プロセスを明確にしていただけますか?具体的には:

  1. 安定版リリースが利用可能になった場合、安定版に到達する前にそれを過ぎていなければ、再構築がそれに固定されることを保証するために、アクティブな設定として version: stable を残しておくだけで十分ですか?
  2. ベータ版/開発版に誤って更新されるのを回避するために、実行すべき追加の手順やクリーンアップタスク(他の設定要素の削除や変更など)はありますか?

できるだけ早く安定版リリースに固定したいのですが、再び飛び越えてしまうのは避けたいです…

うーん。私にはそうは見えませんが:

おっと!携帯で見るのが早すぎたのかもしれません。どうしてそれを見逃したのか、そしてサイトが現在 3.5.0.beta1-dev で動作しているのか、私には説明がつきません。

「いいね!」 2

こんにちは。

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