Docker 컨테이너 업데이트/재빌드 시 v2025.11.0 대신 v3.5.2가 설치됨

기존 Discourse 환경을 이전과 동일한 방식으로 업데이트했습니다. discourse_docker 저장소의 최신 리비전을 가져온 후 다음 명령을 실행했습니다:

./launcher rebuild app

오류 없이 실행이 완료되고 새 컨테이너도 시작됩니다. 겉보기에는 모든 것이 정상으로 보입니다.

하지만 실행 중인 애플리케이션의 HTML 소스를 확인해 보니, 업데이트 전 버전인 v3.5.2로 표시되고 있으며, 기대했던 v2025.11.0이 아닙니다.

우리의 절차는 이전 업데이트들과 동일합니다. 명백하게 변경된 유일한 사항은 v2025.11.0에서 도입된 버전 번호 체계입니다. 이 변경 사항과 관련이 있을까요?

Discourse 소스 코드에서 버전 문자열이 업데이트되지 않았는지 확인해 보았지만, 그렇지 않습니다. 다음 두 커밋을 참고하세요:

launcher의 rebuild 명령 출력에서 git pull이 수행되고 새 브랜치가 감지되는 것을 확인했습니다:

(...)
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             release                 -> release
 * [new tag]             v2025.11.0              -> v2025.11.0
 * [new tag]             v2025.12.0-latest       -> v2025.12.0-latest
 * [new tag]             v3.5.2                  -> v3.5.2
 * [new tag]             v3.6.0.beta2            -> v3.6.0.beta2
Switched to a new branch 'stable'
I, [2025-12-03T12:27:14.785550 #1]  INFO -- : branch 'stable' set up to track 'origin/stable'.

어떤 이유로든 여전히 최신이 아닌(즉, 가장 새로운 것이 아닌) 브랜치를 선택하는 것처럼 느껴집니다. ‘stable’ 브랜치에는 v3.5.2가 포함된 것 같습니다(해당 브랜치의 lib/version.rb에 따르면).

2025.11.0 릴리스 공지를 다시 읽어보니, 실제로 이는 미리보기/얼리 어답터용 릴리스가 아니라 안정적(stable) 릴리스로 보입니다. 링크된 새로운 버전 관리 전략에서는 latest 브랜치를 언급하지만, 이제는 무엇을 기대해야 할지 더 혼란스럽습니다.

무언가를 놓치고 있는 걸까요? 아니면 rebuild 시 선택되는 버전을 우리가 제어할 수 있을까요? 아니면 현재 의도대로 작동하지 않아 rebuild 도구가 수정이 필요한 상황일까요?

관련이 있는지 확실하지는 않지만, Docker Hub에서 ‘latest’ 태그는 3.5.2입니다. 숫자 순서로 내림차순 정렬하면, 이는 아주 오랫동안 가장 최신 태그가 될 수 있습니다…

v3.5.x가 안정 버전(stable branch)에 대한 올바른 버전입니다 :+1:

2025.11.0은 월간 '릴리스’이지만, ‘안정판’/‘esr’ 릴리스는 아닙니다. (곧 새로운 버전 관리 전략의 일환으로 stable을 esr로 이름 변경할 예정입니다)

이해하기 어렵네요. 모든 사용자를 한꺼번에 새로운 버전 체계로 전환하는 것이 더 합리적일 것 같지만, 새로운 안정 버전이 없는 상태에서 안정 버전 업그레이드를 제공하는 것도 말이 안 되니까요. 저는 항상 이런 부분에 주의를 기울인다고 생각했는데, 이번에는 저도 혼란스러웠습니다. 리처드가 이 문제에 대해 논의했던 것이 기억나는데, 자세히 듣지 않아서 제대로 이해하지 못했네요.

:person_shrugging:

@david 님, 감사합니다. 적어도 이제 제가 잘못한 게 없었음을 알게 되어 다행입니다.

그런데 우리에게 남은 문제는, 어떤 것이 “월간 릴리스”이고 어떤 것이 “안정 릴리스”인지 어떻게 구분할 것인가입니다.

우리는 GitHub의 Atom 피드를 가져와서(새로 감지된 릴리스에 대한 알림을 받기 위해) 확인하는데, 거기서 2025.11.0과 3.5.2가 동일한 방식으로 표시됩니다(다른 수많은 태그들과 함께).

그러면 특정 버전 태그에 대한 팀의 의도를 쉽게 확인할 수 있는 방법이나 장소를 알려 주실 수 있을까요?

@pfaffman 님의 의견에 동의합니다. 지금은 정말로 혼란스럽습니다.

네, 말씀하신 내용을 잘 이해합니다. 두 가지 번호/이름 체계 사이의 전이 단계에 있기 때문에 상황이 다소 파악하기 어렵습니다.

현재 지원되는 모든 버전과 변경 사항 기록을 나열하는 페이지를 구축하고 있습니다. 이것과 유사한 형태가 될 것입니다. 이러한 유형의 질문에 도움이 될 것으로 기대합니다.

2026년 1월부터는 릴리스에 ‘esr’ 태그를 붙일 예정입니다. 이는 현재 ‘stable’ 버전의 6개월 주기를 대체하는 것입니다.

즉, betarelease가 되었습니다(실제로 'beta’라기보다는 월간 체크포인트에 가까웠습니다).

그리고 stableesr이 될 예정이지만, 아직 그렇게 된 것은 아닙니다.

따라서 6개월 주기를 원하신다면 당분간 stable을 유지하시고, 1월부터는 esr을 사용하시면 됩니다.

월간 주기를 원하신다면 release 태그를 대상으로 하시면 됩니다.

역시 똑똑한 사람들은 생각이 비슷하네요. 바로 제가 바라고 있던 것이었으니까요!

완전히 이해하며, 제 피드백과 질문은 공격적인 의도로 한 것이 아닙니다.

과거에 3.5.0에서 3.5.1을 거쳐 3.5.2로 업데이트한 적이 있습니다. 이것이 구버전 체계에서든 현재 새 체계에서든 'stable’이었는지 'latest’였는지, 혹은 다른 이름이었는지 정확히 알 수 없습니다. 버전 관리 및 릴리스 체계의 변경 자체에는 문제가 없습니다. 다만, 프로젝트/제품에 충분히 가깝게 관여하지 않아 새 버전 관리 및 릴리스 체계의 모든 세부 사항을 이해하거나 이해하려 하지는 않습니다.

매우 빠른 대응과 3.5.2를 계속 사용해도 된다는 유용한 조언에 감사드립니다. 정말 도움이 되었습니다.

그리고:

@david 님, 감사합니다 - 정말 좋은 소식입니다! 이 페이지가 공개되는 것을 기대하고 있습니다. 우리의 업데이트 절차를 훨씬 단순하게 만들어 주기를 바랍니다!