여기서 우리가 사용하는 브랜치에 대한 좋은 설명이 있습니다:
jomaxro:
Main:
Discourse 에 새로운 커밋이 추가되면 main 브랜치에 반영됩니다. Main은 Discourse의 가장 최신(현재) 브랜치이며, main 브랜치를 추적하여 사이트를 운영하는 것을 권장하지 않습니다.
Tests-passed:
새로운 커밋이 main 브랜치에 푸시되면, 빌드 서버가 최신 코드를 대상으로 모든 테스트를 자동으로 실행합니다. 모든 테스트가 통과하면 해당 커밋은 tests-passed 브랜치에 추가됩니다. 이는 모든 Discourse 사이트가 기본적으로 실행하는 브랜치입니다.
Beta:
몇 주마다 tests-passed의 현재 커밋을 beta로 푸시합니다. Beta는 더 많은 사이트에서 실행하고 테스트하기를 원하는 커밋 집합을 배포하기 위한 '마일스톤’으로 사용됩니다. 또한 사이트가 수신하기를 원하는 중요한 보안 수정 사항이 있을 경우에도 beta를 푸시합니다. beta가 푸시되면 tests-passed 또는 beta를 실행 중인 모든 사이트가 ‘새 업데이트 사용 가능’ 이메일을 받습니다. tests-passed를 실행 중인 사이트는 현재 tests-passed 커밋(베타 이후 푸시된 새 커밋 포함)으로 업데이트되는 반면, beta를 실행 중인 사이트는 업데이트되지 않습니다.
Stable:
4~6개월마다 새로운 stable 빌드를 출시합니다. stable을 푸시하기 약 2주 전에 마지막 beta를 출시합니다. 이후 로그를 면밀히 모니터링하여 남아 있는 버그를 포착하려고 하며, 새로운 기능이나 위험한 변경 사항을 추가하는 것을 피합니다. 현재 beta의 상태에 만족하면 stable로 푸시합니다.
즉, Discourse는 영구적인 베타 상태에 있으며, 이는 항상 새로운 기능과 개선 작업이 진행 중임을 의미합니다. 우리 경우 beta는 불안정하다는 뜻이 아닙니다. 월간 페이지뷰가 수백만 건에 달하는 사이트를 tests-passed 및 beta 버전으로 호스팅하고 있습니다.