제 Discourse 설치 버전이 최신이 아닙니다(3.2.0.beta4-dev). 3.5 버전으로 업그레이드해야 하는데, 기존 환경에 문제가 생길까 걱정됩니다. 또한 변경하고 싶지 않은 몇 가지 플러그인/통합 기능(WP Discourse, 회원 정보와 함께 WordPress를 통한 로그인, Category Lockdown 플러그인)을 사용하고 있으며, 과거에 수동 업그레이드 시 문제가 발생한 경험이 있습니다.
업그레이드를 위한 최선의 방법은 무엇인가요? 먼저 다른 버전으로 부분 업그레이드를 진행해야 하나요? 주의해야 할 점이나 함정이 있을까요?
맞아요. 실제로 새 서버를 시작하고 백업을 복원할 수 있다는 사실을 알고 있습니다. 얼마 전 제 서버 중 하나의 SSD가 고장 났을 때 이 작업을 수행해야 했습니다. 당시 연습을 해두지 않았던 것이 아쉬웠지만, 결과적으로 명시적으로 연습은 하지 않았지만 이 과정을 수백 번 거친 경험이 충분했기에 모든 것이 계획대로 진행되었습니다.
단점이 전혀 없으며, 특히 많은 플러그인이 코어(CORE)로 이동되었고 오래된 플러그인 중 깨진 것이 있을 수 있으므로 더욱 그렇습니다. 시스템이 정상적으로 작동하는 것을 확인한 후에는 누락된 플러그인이 있는지 확인하고 복원하면 됩니다.
최선의 방법? 어딘가에 체크리스트를 유지하세요. 언젠가 여러분이나 누군가가 너무 급하게 업데이트를 하려는 충동에 사로잡힐 때를 대비해, 테마(../admin/customize/themes/ 편집>css)에 다음 CSS를 추가하여 UI>admin>update에 체크리스트를 추가할 수 있습니다:
.admin-contents.update .d-nav-submenu::before {content:“업데이트 체크리스트” : 백업 완료?" ; “지난 달 메타 공지사항 읽음? ; 지난 달 메타의 가장 중요한 버그 확인? 필수 플러그인 호환성 확인? Postgres/Redis 호환성 버전 확인? 업데이트 시점 적절성 확인? 업데이트 실패 시 문제 해결 인력 가용성 확인?” }
체크리스트를 만드는 것은 좋은 생각입니다. 제 경우를 말씀드리면, 업그레이드를 고려할 때 먼저 릴리스를 기다리고, 며칠을 더 기다린 뒤 평일인 것을 확인합니다. 그런 다음 Bugs(버그)와 Support(지원) 카테고리를 읽어서 사람들이 어떤 문제를 겪고 있는지 살펴봅니다. 그리고 그런 문제가 있다면, 그것이 해결될 때까지 기다립니다.
아니요, 저는 tests-passed 브랜치를 사용 중입니다. 며칠의 지연 기간 동안 저장소에 추가적인 커밋이 몇 개 더 들어올 수 있다는 점은 사실이지만, 동시에 일부 실수가 수정될 기회도 됩니다. 물론 대부분의 커밋에는 문제가 없으므로 저는 이것이 좋은 트레이드오프라고 생각합니다. 다만 의견이 다를 수도 있겠죠.