Falha na atualização v3.0.1 para v3.0.2

Aqui está a mensagem.
I, [2023-03-23T15:14:16.270826 #1] INFO – : \u003e cd /var/www/discourse \u0026\u0026 su discourse -c ‘bundle install --deployment --retry 3 --jobs 4 --verbose --without test development’\n[DEPRECATED] A flag --deployment está obsoleta porque depende de ser lembrada entre invocações do bundler, o que o bundler não fará mais em versões futuras. Em vez disso, use bundle config set --local deployment 'true', e pare de usar esta flag\n[DEPRECATED] A flag --without está obsoleta porque depende de ser lembrada entre invocações do bundler, o que o bundler não fará mais em versões futuras. Em vez disso, use bundle config set --local without 'test development', e pare de usar esta flag\n\u003e Bundler::InstallError: web-push-3.0.0 requer a versão ruby \u003e= 3.0, que é incompatível com a versão atual, 2.7.6\n/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!'\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/spec_set.rb:155:in each’\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/spec_set.rb:155:in each'\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:231:in ensure_specs_are_compatible!‘\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:83:in block in run'\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/process_lock.rb:12:in block in lock’\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/process_lock.rb:9:in open'\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/process_lock.rb:9:in lock’\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:71:in run'\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/installer.rb:23:in install’\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli/install.rb:62:in run'\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:260:in block in install’\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/settings.rb:131:in temporary'\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:259:in install’\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run'\n /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’\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor.rb:392:in dispatch'\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:34:in dispatch’\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/vendor/thor/lib/thor/base.rb:485:in start'\n /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.4.1/lib/bundler/cli.rb:28:in start’\n -----\n ------\n Procurando gems ["powerbar", "middleware", "pattern-match", "coffee-script-source", "virtus", "needle", "jruby-pageant", "bcrypt_pbkdf", "rbnacl", "rbnacl-libsodium"]\nHTTP GET https://index.rubygems.org/info/middleware\nHTTP 200 OK https://index.rubygems.org/info/middleware\nProcurando gems ["ansi", "descendants_tracker", "axiom-types", "coercible", "equalizer"]\nProcurando gems ["ice_nine", "adamantium"]\nProcurando gems ["memoizable"]\n\n\n\nFALHOU\n--------------------\nPups::ExecError: cd /var/www/discourse \u0026\u0026 su discourse -c ‘bundle install --deployment --retry 3 --jobs 4 --verbose --without test development’ falhou com retorno #\u003cProcess::Status: pid 324 exit 5\u003e\nLocalização da falha: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’\nexec falhou com os parâmetros {"cd"=\u003e"$home", "hook"=\u003e"bundle_exec", "cmd"=\u003e["su discourse -c ‘bundle install --deployment --retry 3 --jobs 4 --verbose --without test development’"]}\nbootstrap falhou com código de saída 5\n** FALHA AO INICIAR ** por favor role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.\n./discourse-doctor pode ajudar a diagnosticar o problema.\n58f4a7f8ec4aa127e0b28260dd525155e6d18554aa5a8bbd4b8036374e5b2fe5\nmake: *** [Makefile:44: build] Error 1\n\n\nComo podemos atualizar a versão do ruby para \u003e3.0?

Que tipo de instalação você tem? Não parece uma instalação padrão.

Meu entendimento é que uma instalação padrão pode ser atualizada pela linha de comando, embora possa levar duas tentativas. Se você ficar preso com uma versão errada do Ruby, então você tem uma configuração incomum.

1 curtida

Você pode tentar uma reconstrução pela linha de comando?

1 curtida

Aqui está o meu arquivo app.yml.

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           # (opcional, padrão 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 "Início dos comandos personalizados"

  - exec:
      cmd:
        - echo "Atualizando a chave apt do Yarn"
        - "curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -"

  - exec:
      cmd:
        - echo "Adicionando GCS-Fuse à Imagem"
        - "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 "Concluída a adição do GCS-Fuse à Imagem"


  - exec:
      cmd:
        - echo "Adicionando PostgreSQL 14 à Imagem."
        - apt-get -y update
        - apt-get -y install postgresql-14
        - pg_dropcluster 13 main

  # corrigir os patches de backup e upload para apontar para o bucket gcs
  - exec: ln -sf /shared/bucket/discourse/backups /var/www/discourse/public/
  - exec: ln -sf /shared/bucket/discourse/uploads /var/www/discourse/public/
  # corrigir a sincronização dos relatórios semanais no bucket gcs
  - exec: ln -sf /shared/bucket/weekly_reports /var/www/discourse/public/

  # registrar na saída padrão, mesmo em produção para o explorador de logs
  - 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'

  # corrigir rsync para gcsfuse e restaurações (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 "Fim dos comandos personalizados"
  - exec: awk -F\\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Chaves SSH autorizadas para este contêiner:"; } NF>=2 {print $NF;}'