beta9가 최근 검증된 버전인 것 같아서 업그레이드에 대해 좀 걱정됩니다.
app.yml에서 beta 브랜치로 전환하지 않았다면(이 경우 다음 릴리스까지 새 기능을 사용할 수 없음), 현재는 지속적으로 업데이트되는 tests-passed 브랜치를 사용 중입니다. 현재는 알림 관련 개발이 매우 빠르게 진행되고 있어 변경 사항이 많으며, 일주일 전에는 이런 기능들이 전혀 존재하지 않았습니다. 그때 이후로 업데이트를 했나요?
최신 코드를 원한다면 업그레이드하는 것이 좋습니다. 새 알림을 보고 싶지 않다면 다음 릴리스를 기다릴 수도 있습니다.
마지막으로 업그레이드를 한 지 apparently 217개의 커밋이 지난 것 같습니다. 현재 베타 브랜치를 사용 중이지만, 재빌드를 피해서 다운타임을 방지하기 위해 tests-passed 브랜치를 사용하는 것이 더 나을 것 같습니다.
최근 tests-passed 버전이 beta9라고 알고 있는데, 어떻게 확인할 수 있을까요?
@pfaffman 님, 도움 주셔서 감사합니다.
대시보드의 “여기서 업그레이드 수행” 링크를 클릭하여 /admin/upgrade 페이지를 방문하세요.
만약 실제로 베타 버전을 사용 중이라면(app.yml 파일에서 확인할 수 있음) 좋은 기능을 사용하려면 tests-passed 버전으로 전환해야 하지만, 217개의 커밋이 뒤처져 있다는 메시지가 표시된다면 업데이트가 가능하다는 뜻일 것입니다. 웹 인터페이스를 통해 업그레이드하면 다운타임이 없습니다.
네, 저는 확실히 베타 버전을 사용 중입니다. 다운타임 없이 tests-passed로 전환할 수 있었으면 좋았을 텐데, 그 때문에 지금은 그걸 미루고 있습니다.
제 유일한 우려는 현재 베타 업그레이드 상태에 있다는 점입니다. 대시보드에서 업데이트를 시도하면 217개의 커밋이 업데이트 대상인데, 그 대부분은 아직 검증되지 않았을 가능성이 높기 때문입니다.
tests-passed에 커밋된 모든 버전은… 모든 테스트를 통과했습니다. 여기서 "검증됨(verified)"이 “당신보다 위험 회피 성향이 적은 많은 사람들이 직접 사용해 본” 것을 의미한다면 말입니다. beta와 stable은 변경 사항이 적지만, tests-passed보다 반드시 더 안전하다고 할 수는 없습니다. 그리고 만약 beta 버전을 사용 중인데 새로운 기능이나, 백포트할 정도로 중요하지 않아서 반영되지 않은 버그 수정이 필요하다면, 아쉽게도 방법이 없습니다.
결국 여기서는 용어를 오해했던 것 같습니다.
베타 버전은 더 자주 업데이트되고 커밋 수도 많으며, x개의 커밋이 쌓이면 tests-passed 브랜치로 병합되어 이전 커밋들이 모두 "검증"된다는 의미인 줄 알았거든요.
다만, (잠재적으로) 버그가 있는 버전을 사용하는 비용은 치르지 않으면서도 최신 기능에 맞춰져 있는지 확인하고 싶습니다.
사실 매일 새로운 커밋이 계속 보이기 때문에 현재 main 브랜치에 있는 것 같습니다.
그러면 업데이트하는 것이 꽤 위험할 것 같네요?
즉, 커밋이 많이 보이고 그중 오늘 날짜가 많다면, 현재 Main 브랜치에 있는 것이라고 가정해도 되는 건가요?
그렇다면, 제 혼란은 버전 번호에 관한 것입니다. 현재 Beta9에 있는데, 이 버전 번호는 모든 브랜치에 적용되는 건가요? 그리고 언제 변경되는 건가요?
tests-passed가 기본 브랜치이며, main으로 전환했을 가능성은 낮습니다. 자동화 테스트가 통과한다는 전제 하에, tests-passed가 main보다 뒤처지는 시간은 테스트 실행에 걸리는 시간만큼입니다. 제가 마지막으로 확인했을 당시 약 14분이 걸렸던 것으로 기억합니다.
실용적인 관점에서 보면, 커밋이 하나 이상의 테스트에 실패하는 경우를 제외하고 tests-passed는 main과 동시에 업데이트됩니다. 테스트 실패 시 해당 문제를 수정하는 후속 커밋은 보통 빠르게 따라오며, (이후 테스트가 실행되어 통과하면 tests-passed에 반영됩니다.)
버전 번호에 관해서는, 기본적으로 stable은 명시적으로 2.8.8, beta는 명시적으로 2.9.0.Beta9이며, tests-passed(그리고 main)는 2.9.0.Beta9 + 이후 발생한 모든 커밋에 해당합니다. "이후 발생한 모든 커밋"의 집합이 Beta10으로 명명될 때 버전이 변경될 가능성이 높으며, 그 시점에 beta와 tests-passed가 잠시 동일해질 수 있습니다.
지금 어떤 브랜치를 사용 중인지 확인하기 위해 app.yml 파일을 살펴본 적이 있나요? 브랜치를 확인할 수 있는 유일한 방법입니다.
브랜치를 "main"으로 변경했을 가능성은 낮습니다. 브랜치를 변경하기 위해 명시적인 조치를 취한 적이 없다면, 현재 tests-passed 브랜치를 사용 중입니다.
업그레이드는 위험하지 않습니다. 업그레이드가 위험하다고 생각하거나, 사이트에 문제가 발생하면 모든 것이 끝날 것 같다면, 업그레이드를 테스트할 수 있는 스테이징 사이트를 준비해 두어야 합니다.
하지만 일반적으로, 사이트에 문제가 발생하는 경우 해결책은 "재구축(rebuild)"입니다.
![]()
테스트 통과 상태인 것 같습니다. (?)
네. 처음부터 그렇게 생각했듯이, tests-passed 브랜치에 계십니다. 다른 것을 하려면 특별한 노력을 기울여야 하니까요.
그래서 네, 최신 기능을 사용하려면 업그레이드하는 것이 좋습니다.
그리고 이 대화가 시작된 이후로, 버전 번호를 올렸습니다.