채팅 플러그인 추가 후 테마/버전 경고와 함께 리빌드 실패 (제거 후에도 실패)

음, 이 문제를 해결한 지 얼마 안 됐는데, 이번에는 또 다른 문제에 부딪혔습니다. 원래 잘 작동하던 상태에서 채팅 플러그인을 설치해 보려고 했습니다. app.yml에 플러그인을 추가하고 재빌드(rebuild)를 진행했는데, 테마 관련 오류가 발생하기 시작했습니다:

Failed to update 'Alternative Logos': about.json contains invalid values: Maximum discourse version is invalid
rake aborted!
RemoteTheme::ImportError: about.json contains invalid values: Maximum discourse version is invalid

빌드가 끝날 무렵에는 다음과 같은 오류가 떴습니다:

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 3923 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
138aba05ed797ec7542e030d05c988c19e0705c6f117f22a49144cc7ffa0c88c

이제 보니 채팅 플러그인이 프리알파(pre-alpha) 상태인 것 같습니다. 이 문제는 반드시 채팅과 관련이 있다고 생각하지 않아서, 채팅 카테고리 밖인 여기에 게시합니다. 또한 플러그인과 관련이 없어 보이는, 이미 보고되고 해결된 이 문제와 거의 동일한 현상인 것 같습니다.
거기에서 답변을 남기고 싶었지만, 해당 스레드는 이미 닫혀 있습니다. 제 문제는 적어도 오류 메시지에 관해서는 기본적으로 동일합니다. app.yml에서 채팅 플러그인을 제거한 후에도 여전히 오류가 발생하고 있습니다.

아직 위에서 링크한 해당 스레드의 해결 단계를 따라 해보지는 않았습니다. 이 문제가 발생하는 원인을 추적하는 데 도움이 될 수 있을 것 같아(그리고 잠재적으로 이 문제가 발생하지 않도록 만들 수 있을 것 같아) 먼저 여기에 글을 올립니다. 이 문제를 서둘러 해결할 필요는 없으므로, CDCK 쪽에서 관심 있는 부분이 있다면 알려주세요. 오늘 밤 늦게나 내일 아침에 위에서 언급한 스레드에 나와 있는 수정 사항을 시도해 보겠습니다.

네, 이제 해결되었습니다. 한 번 더 재빌드했는데 비슷한 오류가 발생했지만, 앱은 실행되었고 표준 관리자 영역에 접근할 수 있었습니다. 문제 있는 테마 컴포넌트(다른 스레드에서 언급된 대체 로고 관련 컴포넌트도 제 경우에도 원인으로 확인되었습니다)를 제거한 후, 마침내 오류 없이 재빌드가 완료되었습니다. 그 후 채팅 플러그인도 설치할 수 있었으므로, 실제로 이 문제는 채팅 플러그인과 무관한 것 같습니다.

제 생각에 어떤 일이 있었는지 가장 그럴듯한 추측은 다음과 같습니다:

  • Digital Ocean의 표준 Discourse 이미지를 사용하여 Discourse를 설정했습니다.
  • 다른 호스트에서 이관하는 중이었기 때문에 기존 Discourse 사이트의 백업을 수행했습니다.
  • 해당 백업에는 오래되거나 업데이트되지 않은 테마와 테마 컴포넌트가 포함되어 있었습니다.
  • 백업을 새 서버에 복원했을 때 복원 작업은 정상적으로 완료되었습니다.
  • 채팅 플러그인 설치를 시도했을 때, 수동 재빌드 과정에서 문제가 발생하기 시작했습니다.
  • 플러그인을 제거(app.yml에서 주석 처리)하고 재빌드를 시도했지만, 여전히 오류가 계속되었습니다.
  • 우연히든, 혹은 단순히 더 인내심을 갖고 기다렸든(아래 참조), 웹 관리자에 접근할 수 있었습니다.
  • 업데이트되지 않은 테마와 테마 컴포넌트를 제거하고 나머지를 업데이트한 후, 시스템이 정상 작동하기 시작했습니다.

따라서 제가 얻은 교훈은 버그가 있는 테마 컴포넌트, 심지어 (그렇게 보이지만) 잘못된 최대 버전 값이라도 Discourse를, 적어도 일부나마, 깨뜨릴 수 있다는 것입니다. 이런 문제가 이렇게 보기에 상당한 실패를 일으키는 것은 바람직하지 않습니다. 하지만 이 과정에서 제가 몇 가지 가정을 했을 수도 있어, 재빌드 없이 앱이 다시 시작되지 않는 것처럼 보였지만, 실제로는 시작하는 데 시간이 좀 걸렸거나 다른 문제가 있었을 수도 있습니다. 비슷한/동일한 오류가 표시된 재빌드 후 오늘 다시 접속했을 때 앱이 다시 실행된 것처럼 보인 이유에 대해 제가 가진 유일한 설명입니다. 제가 충분히 인내심을 갖지 못했고, Discourse가 보였던 것만큼 실제로 심각하게 깨진 것은 아니었을 수 있습니다…

아직 Discourse의 호스팅 및 관리 방식을 익히는 중입니다. 가끔씩 우왕좌왕하고 혼란을 드린 점 사과드립니다. :face_savoring_food: