원클릭 업데이트로 Docker를 업데이트한 후 버전이 표시되지 않습니다

안녕하세요,

이전에는 경험해 본 적 없는 이상한 문제에 직면했습니다. Discourse 설치에 업데이트가 있다는 이메일 알림을 받았고, 해당 링크를 클릭했을 때 다른 것을 업데이트하기 전에 먼저 Docker 설치를 업데이트해야 한다고 안내받았습니다.

이런 경우는 이전에 여러 번 본 적이 있어 원클릭 설치기를 사용하여 업그레이드했습니다. 이번 달랐던 점은 업그레이드 중간에 자리를 비웠다는 것입니다. 몇 시간 후 돌아왔을 때 Docker가 성공적으로 설치되어 있는 것을 확인했습니다.

그 후 상단의 버전(Versions)을 클릭하여 나머지 항목들을 업데이트하려고 했습니다. 하지만 해당 화면이 로드되었을 때 완전히 빈 상태였습니다. 아래 이미지와 같은 모습이었죠:

그 후 원래의 이메일로 돌아가 원클릭 업데이트기로 이동해 보았지만, 동일한 상황이 발생했습니다.

다른 브라우저에서 https://community.amwcomics.com/admin/upgrade URL을 로드해 보았지만, 역시 동일한 결과가 나왔습니다.

제가 무엇을 잘못하고 있는지 혹시 아시는 분이 있을까요? 이 문제 외에는 사이트는 정상적으로 로딩됩니다. 다만 이제 원클릭 업데이트기에서 아무것도 보이지 않을 뿐입니다.

이 문제를 해결하려면 명령줄에서 앱을 다시 빌드해야 합니다:

cd /var/discourse
git pull
./launcher rebuild app

이 문제가 종종 게시되고 있습니다. 이러한 유형의 업그레이드가 필요할 때, 재구축을 수행하고 신선한 풀을 받도록 내장할 수 있는 가능성이 있을까요? 해당 명령을 실행할 수 없는 상황의 사용자들을 고려해 본 것입니다. 재구축 요청에 대한 지원 응답이 느릴 수 있고, 사이트 관리자에게는 편리한 시간이 아닐 수도 있기 때문입니다.

재구축을 위해 전체 애플리케이션이 중단되며, 해당 프로세스를 관리할 실행 중인 프로세스가 없습니다.

관리 프로세스가 생성되었다고 가정하면, 그 프로세스가 재구축을 필요로 할 때 어떻게 해야 할까요?

그 말씀도 일리가 있습니다. 하지만 결국에는 수동으로 다뤄야 하는 단계가 반드시 존재할 수밖에 없죠. 저는 악마의 변호사처럼, 관리 프로세스의 주된 역할이 애플리케이션 재구축이라면 재구축 횟수가 훨씬 적어야 한다고 주장하겠습니다. 이는 매우 적은 의존성과 롤링 변경으로 이루어져야 합니다.

자주 업그레이드하고 싶지 않다면, 업그레이드 빈도를 줄이는 것도 방법입니다.

베이스 이미지에 대한 개선 사항을 계속 제공하지 말아야 한다는 점을 설득력 있게 주장한 것으로 보이지 않습니다. 명령어를 통해 업데이트해야 할 필요성은 상황에 따라 다르며, 특히 빈번하지도 않고, 이를 반드시 해야 하는 긴급한 상황은 더욱 드뭅니다.

사실 저는 그런 주장을 하고 있다는 걸 깨닫지 못했습니다. 업데이트가 덜 자주 릴리스되도록 옹호하고 있다는 건 절대 아닙니다 :slight_smile:

그저 드문 일이긴 하지만 불편함을 줄여줄 수 있는 QoL(사용 편의성) 기능에 대한 피드백을 간단히 드리는 것입니다. 필요한 때에 해당 명령어를 직접 실행하는 데에는 전혀 문제가 없습니다.

중간 타협책으로, 해당 명령어 실행이 필요한 업데이트가 적용될 때 대시보드 어딘가(혹은 배너 등)에 관리자에게 명확히 알림을 주는 방식이 어떨까 싶습니다. (이렇게 하면 가끔 보이는 "업데이트를 했는데 xyz가 비어 있거나/없거나/동작하지 않는다"는 게시글도 줄어들 수 있을 것입니다)

방금 해당 화면이 하얗게 보였던 근본 원인을 수정했습니다.

docker manager 플러그인을 업그레이드했는데, 이전 버전의 discourse와 호환되지 않는 문제가 있었습니다. 호환성을 복원하기 위해 일부 코드를 추가했습니다. 불행히도 화면이 하얗게 변한 후에는 다음과 같은 조치 외에는 다른 방법이 없습니다:

cd /var/discourse
./launcher rebuild app

샘(@gerhard!) 감사합니다. 앱을 업그레이드하기 전에 명령줄을 사용해 앱을 다시 빌드하라는 안내를 받은 적은 있었지만, 이런 흰 화면을 마주한 건 이번이 처음입니다. 이런 현상이 생기는 데는 이유가 있었고, 그 덕분에 수정까지 이어졌다는 점은 알아서 다행입니다.

지금은 명령줄을 이용해 다시 빌드하고 있습니다. :slight_smile:

추가 내용: 프로세스가 완료되었고 모든 것이 정상입니다. 버전 페이지에서 모든 플러그인이 표시되고 있으며, 모든 것이 업데이트된 상태입니다.