멀티컨테이너 설치 환경에서 셀프호스트드 3.1.0.beta2 업그레이드는 추가 중단 시간이 필요합니다

제가 GUI 업데이트 도구를 사용하지 않았다는 점을 다시 한번 강조합니다. 저는 멀티 컨테이너 설치 환경을 사용하고 있습니다. 다음 명령을 실행했습니다:

git pull
./launcher bootstrap app
./launcher destroy app && ./launcher start app
./launcher cleanup

(웹 앱의 경우에도 멀티 컨테이너 설치 환경에서 app을 사용합니다. 일반적인 관행은 아니라는 것을 알고 있습니다. web_only를 타이핑하는 것이 싫거든요.)

bootstrap을 시작한 후 앱이 종료되기 전에, 새 데이터베이스를 대상으로 구버전이 실행되던 중 오류 화면만 표시되었습니다. 내용이 무엇이었는지 기억나지 않고, destroy/start를 실행하기 전에 스크린샷을 찍기 위해 멈추는 것으로 더 긴 다운타임을 유발하지는 않았지만, 흰 배경에 텍스트만 있는 화면이었고 시스템 유지보수 페이지도 아니었습니다. 이전에 몇 번 본 적이 있는데, bootstrap이 비동기 “제로 다운타임” 재구성의 일부로 db:migrate를 실행할 때, 여전히 실행 중인 구버전 소프트웨어가 스키마 불일치로 인해 실패하는 경우가 있었습니다.

제가 본 것은 데이터베이스 불일치 상황에서 발생하는 현상이었습니다. 이는 데이터베이스를 손상시키면서 무사히 진행하는 것보다 훨씬 낫습니다. 제가 게시물을 올린 이유는, 포인트 업데이트(여기서는 3.1.0.beta1에서 3.1.0.beta2로)를 적용할 때 3.1.0.beta1 코드와 3.1.0.beta2 db:migrate 실행 후의 데이터베이스 사이에 스키마 호환성 문제가 생길 수 있다는 점을 경고하기 위해서였습니다. 이는 멀티 컨테이너 배포 환경에서 일반적인 낮은 다운타임 업데이트 시 드물지만 간혹 발생하는 현상입니다.

제 경험은 GUI 업데이트 도구에서 ruby와 관련하여 보고된 오류와 다릅니다. 완전히 무관한 문제입니다. 제 게시물이 공지사항에서 일반적인 “문제” 스레드로 이동된 것을 인지하고 있지만, 제가 공지사항에 게시물을 올린 이유는 저와 같은 셀프호스터들이 해당 공지를 볼 때, 이 특정 업데이트가 이러한 영향을 미칠 수 있는 경우임을 경고하기 위해서였다는 점을 명확히 하고 싶습니다.

제 메시지는 버그나 심지어 문제점에 대한 불만이 아니었습니다. 이 특정 릴리스와 관련된 정상적이지만 드문 경우를, 릴리스 노트에 명시되지 않았음에도 불구하고 통보하기 위한 것이었습니다.

Docker 매니저가 이미지 내에서 업데이트할 수 없다는 사실을 인식하지 못한다는 불만은, 제가 다른 셀프호스팅 관리자에게 도움이 되는 통보를 제공하려는 시도와는 완전히 무관합니다.

이러한 무관한 문제들을 독립적인 문제로 독립적인 스레드로 분리하는 것이 훨씬 합리적일 것입니다. @supermathie 편집: 완료