v3.0.1からv3.0.2へのアップグレード失敗

メッセージはこちらです。
I, [2023-03-23T15:14:16.270826 #1] INFO – : cd /var/www/discourse & su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'
[非推奨] --deployment フラグは、bundler の呼び出し間で記憶されることに依存しているため非推奨です。将来のバージョンでは bundler はこれを記憶しなくなります。代わりに bundle config set --local deployment 'true' を使用し、このフラグの使用を中止してください。
[非推奨] --without フラグは、bundler の呼び出し間で記憶されることに依存しているため非推奨です。将来のバージョンでは bundler はこれを記憶しなくなります。代わりに bundle config set --local without 'test development' を使用し、このフラグの使用を中止してください。

**Bundler::InstallError: web-push-3.0.0 は ruby バージョン >= 3.0 を必要としますが、現在のバージョン 2.7.6 と互換性がありません**
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:233:in block in ensure_specs_are_compatible!' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/spec_set.rb:155:in each’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/spec_set.rb:155:in each' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:231:in ensure_specs_are_compatible!’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:83:in block in run' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/process_lock.rb:12:in block in lock’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/process_lock.rb:9:in open' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/process_lock.rb:9:in lock’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:71:in run' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:23:in install’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli/install.rb:62:in run' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:260:in block in install’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/settings.rb:131:in temporary' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:259:in install’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor.rb:392:in dispatch' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:34:in dispatch’
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor/base.rb:485:in start' /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:28:in start’


Looking up gems ["powerbar", "middleware", "pattern-match", "coffee-script-source", "virtus", "needle", "jruby-pageant", "bcrypt_pbkdf", "rbnacl", "rbnacl-libsodium"]
HTTP GET https://index.rubygems.org/info/middleware
HTTP 200 OK https://index.rubygems.org/info/middleware
Looking up gems ["ansi", "descendants_tracker", "axiom-types", "coercible", "equalizer"]
Looking up gems ["ice_nine", "adamantium"]
Looking up gems ["memoizable"]

FAILED

Pups::ExecError: cd /var/www/discourse & su discourse -c ‘bundle install --deployment --retry 3 --jobs 4 --verbose --without test development’はリターンコード #<Process::Status: pid 324 exit 5> で失敗しました 失敗場所: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:inspawn’
exec failed with the params {“cd”=>“$home”, “hook”=>“bundle_exec”, “cmd”=>[“su discourse -c ‘bundle install --deployment --retry 3 --jobs 4 --verbose --without test development’”]}
bootstrap failed with exit code 5
BOOTSTRAP FAILED スクロールアップして、以前のエラーメッセージを探してください。複数ある場合があります。
./discourse-doctor が問題を診断するのに役立つかもしれません。
58f4a7f8ec4aa127e0b28260dd525155e6d18554aa5a8bbd4b8036374e5b2fe5
make: *** [Makefile:44: build] Error 1

ruby バージョンを >3.0 にアップグレードするにはどうすればよいですか?

どのようなインストール方法ですか?標準的なインストールではないようですが。

私の理解では、標準的なインストールはコマンドラインでアップグレードできるはずですが、2回試行する必要があるかもしれません。もしRubyのバージョンが間違ったままなら、それは特殊なセットアップです。

「いいね!」 1

コマンドラインから再構築を試していただけますか?

「いいね!」 1
templates:
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/weekly.report.template.yml"
nginx,

params:
  version: stable

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  DISCOURSE_HOSTNAME: 'XXXXXX.changeme.com'


  DISCOURSE_DEVELOPER_EMAILS: ''


  DISCOURSE_SMTP_ADDRESS: 127.0.0.1
  DISCOURSE_SMTP_PORT: 2525
  DISCOURSE_SMTP_ENABLE_START_TLS: false           # (optional, default true)


  DISCOURSE_DB_USERNAME: XXXXXX
  DISCOURSE_DB_PASSWORD: XXXXXXX
  DISCOURSE_DB_HOST: 172.17.0.1
  DISCOURSE_REDIS_HOST: 172.17.0.1


volumes:
  - volume:
      host: /var/discourse/shared/web-only
      guest: /shared
  - volume:
      host: /var/discourse/shared/web-only/log/var-log
      guest: /var/log

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-user-notes.git
    - exec:
        cd: $home
        cmd:
          - git fetch --tags
          - git checkout tags/v3.0.2
run:
  - exec: echo "カスタムコマンドの開始"

  - exec:
      cmd:
        - echo "Yarn aptキーの更新"
        - "curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -"

  - exec:
      cmd:
        - echo "GCS-Fuseをイメージに追加"
        - "curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -"

  - file:
      path: /etc/apt/sources.list.d/gcsfuse.list
      contents: |
        deb http://packages.cloud.google.com/apt gcsfuse-buster main

  - exec:
      cmd:
        - apt-get -y update
        - apt-get -y install gcsfuse
        - mkdir -p /shared/bucket
        - echo "GCS-Fuseをイメージに追加しました"


  - exec:
      cmd:
        - echo "PostgreSQL 14をイメージに追加します。"
        - apt-get -y update
        - apt-get -y install postgresql-14
        - pg_dropcluster 13 main

  # バックアップとアップロードのパッチをGCSバケットにポイントするように修正
  - exec: ln -sf /shared/bucket/discourse/backups /var/www/discourse/public/
  - exec: ln -sf /shared/bucket/discourse/uploads /var/www/discourse/public/
  # 週次レポートをGCSバケット同期に修正
  - exec: ln -sf /shared/bucket/weekly_reports /var/www/discourse/public/

  # ログを標準出力に出力(ログエクスプローラーのため、本番環境でも)
  - replace:
      filename: /etc/nginx/conf.d/discourse.conf
      from: 'access_log /var/log/nginx/access.log log_discourse;'
      to: 'access_log /dev/stdout log_discourse;'

  - replace:
      filename: /var/www/discourse/config/unicorn.conf.rb
      from: 'if ENV["RAILS_ENV"] != "production"'
      to: 'if ENV["RAILS_ENV"] == "production"'
  - exec: 'echo "Rails.logger = Logger.new(STDOUT)" >> /var/www/discourse/config/application.rb'

  # GCSFuseとリストアのためのrsyncを修正(b/226700873#comment8)
  - replace:
      filename: /var/www/discourse/lib/file_store/local_store.rb
      from: "'rsync', '-a', '--safe-links', \\\"#{source_path}/\\\", \\\"#{upload_path}/\\\",'"
      to: "'rsync', '-a', '--safe-links', \\\"#{source_path}/\\\", \\\"#{upload_path}/\\\", '--inplace', '--no-times', '--update', '--no-perms', '--no-owner', '--no-group',"


  - exec: echo "カスタムコマンドの終了"
  - exec: awk -F\\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "このコンテナの承認済みSSHキー:"; } NF>=2 {print $NF;}'