현재 버전 3.0.1에서 3.0.3으로의 새로운 보안 및 버그 수정 릴리스에 대한 ‘원클릭 업그레이드’ 이메일 알림에 방금 응답했습니다.
초기 Docker Manager 업그레이드는 문제없이 진행되었습니다(업그레이드 웹 페이지의 업그레이드 진행 상황 보고서에 따르면). 그러나 이후 '모두 업그레이드’를 클릭하여 새 버전이 사용 가능한 것으로 표시된 나머지 Discourse 구성 요소를 업그레이드하려고 했을 때 실패하여 사이트가 오프라인 상태가 되었습니다.
이상하게도, 이미 별도로 업그레이드된 직후임에도 불구하고 후속 업그레이드 진행 상황 보고서 창에서 다시 Docker Manager가 언급되고 있으며, 이번에는 '업그레이드 실패’와 'RuntimeError’가 보고되었습니다.
Digital Ocean 드롭렛에 설치된 Ruby 버전이 구버전(v3.1, v3.2가 아님)이었기 때문에 발생한 것이라고 해석하는 것이 맞나요? 만약 그렇다면, 이전 업데이트에서는 문제가 없었으므로 업데이트 노트에 이러한 새로운 종속성이 언급되었기를 바랐습니다. 그렇지 않다면 원클릭 설치 프로그램이 이를 더 우아하게 처리했어야 하지 않나요?
아래는 해당 후속 업그레이드 진행 상황 보고서 창에 포함된 내용입니다.
********************************************************
*** Please be patient, next steps might take a while ***
********************************************************
Cycling Unicorn, to free up memory
Restarting unicorn pid: 575
Waiting for Unicorn to reload.
Waiting for Unicorn to reload..
Waiting for Unicorn to reload...
Waiting for Unicorn to reload....
Waiting for Unicorn to reload.....
Waiting for Unicorn to reload......
Waiting for Unicorn to reload.......
Waiting for Unicorn to reload........
Waiting for Unicorn to reload.........
Using net-protocol 0.2.1
Fetching addressable 2.8.4
Installing addressable 2.8.4
Using aws-sigv4 1.5.0
Using openssl-signature_algorithm 1.3.0
Using sprockets 3.7.2 from https://github.com/rails/sprockets (at 3.x@f4d3dae)
Using request_store 1.5.1
Using message_bus 4.3.2
Using pry 0.14.2
Fetching rack-mini-profiler 3.1.0
Installing rack-mini-profiler 3.1.0
Fetching rack-protection 3.0.6
Installing rack-protection 3.0.6
Using ecma-re-validator 0.4.0
Using faraday 2.7.4
Using image_optim 0.31.3
Using logstash-logger 0.26.1
Using mini_racer 0.6.3
Using mini_suffix 0.3.3
Using omniauth 1.9.2
Using uglifier 4.2.0
Using web-push 3.0.0
Using sidekiq 6.5.8
Using redis-namespace 1.10.0
Using net-http 0.3.2
Using oauth-tty 1.0.5
Using snaky_hash 2.0.1
Using activesupport 7.0.4.3
Fetching sass-embedded 1.62.0 (x86_64-linux-gnu)
Installing sass-embedded 1.62.0 (x86_64-linux-gnu)
Using rqrcode 2.1.2
Using rss 0.2.9
Fetching tzinfo-data 1.2023.3
Installing tzinfo-data 1.2023.3
Using unf 0.1.4
Using unicorn 6.1.0
Fetching loofah 2.20.0
Installing loofah 2.20.0
Using ruby-readability 0.7.0
Using sanitize 6.0.1
Using net-imap 0.3.4
Using net-pop 0.1.2
Using net-smtp 0.3.3
Using css_parser 1.14.0
Using aws-sdk-core 3.130.2
Using cose 1.3.0
Using pry-byebug 3.10.1
Using pry-rails 0.3.9
Using json_schemer 0.2.23
Using faraday-retry 2.1.0
Using oauth2 1.4.11
Using rtlcss 0.2.0
Using rails-dom-testing 2.0.3
Using globalid 1.1.0
Using activemodel 7.0.4.3
Using mini_scheduler 0.15.0
Using oauth 1.1.0
Using dartsass-ruby 3.0.1
Using rails-html-sanitizer 1.5.0
Fetching mail 2.8.1
Installing mail 2.8.1
Using aws-sdk-kms 1.56.0
Using aws-sdk-sns 1.53.0
Using actionview 7.0.4.3
Using activejob 7.0.4.3
Using active_model_serializers 0.8.4
Using activerecord 7.0.4.3
Using omniauth-oauth2 1.7.3
Using omniauth-oauth 1.2.0
Using aws-sdk-s3 1.114.0
Using actionpack 7.0.4.3
Using actionview_precompiler 0.2.3
Using discourse-seed-fu 2.3.12
Using omniauth-facebook 9.0.0
Using omniauth-github 1.4.0
Using omniauth-google-oauth2 0.8.2
Using omniauth-twitter 1.4.0
Using actionmailer 7.0.4.3
Using railties 7.0.4.3
Using sprockets-rails 3.4.2
Using dartsass-sprockets 3.0.0
Using lograge 0.12.0
Fetching rails_failover 1.0.0
Installing rails_failover 1.0.0
Using rails_multisite 4.0.1
Fetching puma 6.2.2
Installing puma 6.2.2 with native extensions
Using bootsnap 1.16.0
Using rbtrace 0.4.14
Bundle complete! 136 Gemfile dependencies, 174 gems now installed.
Gems in the groups 'test' and 'development' were not installed.
Bundled gems are installed into `./vendor/bundle`
$ yarn install --production
yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
warning " > @mixer/parallel-prettier@2.0.3" has unmet peer dependency "prettier@^2.0.0".
warning "eslint-config-discourse > eslint-plugin-lodash@7.1.0" has unmet peer dependency "lodash@>=4".
[5/5] Building fresh packages...
$ yarn --cwd app/assets/javascripts $(node -e 'if(JSON.parse(process.env.npm_config_argv).original.includes(`--frozen-lockfile`)){console.log(`--frozen-lockfile`)}')
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > babel-plugin-debug-macros@0.4.0-pre1" has unmet peer dependency "@babel/core@^7.0.0".
warning "workspace-aggregator-61483bea-5d74-44aa-a245-abffc0a6319e > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-61483bea-5d74-44aa-a245-abffc0a6319e > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-61483bea-5d74-44aa-a245-abffc0a6319e > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
[4/4] Building fresh packages...
success Saved lockfile.
$ patch-package
patch-package 6.5.1
Applying patches...
@ember/jquery@2.0.0 ✔
virtual-dom@2.1.1 ✔
Done in 23.96s.
Done in 40.79s.
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
Discourse requires Ruby 3.2 or above
Unable checkout compatible plugin versions
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
Discourse requires Ruby 3.2 or above
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:202:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:101:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands/runner/runner_command.rb:43:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/command/base.rb:87:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/command.rb:48:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/commands.rb:18:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:18:in `<main>'
Spinning up 1 Unicorn worker(s) that were stopped initially
Putty를 사용하여 사이트를 재구성하는 단계를 진행할 예정이지만, 설치 프로그램에 버그가 있을 수 있으므로 위 내용을 보고합니다.
