브랜치와 릴리스 채널
Kawaikara는 소스 브랜치, 릴리스 채널, 문서 미리보기를 서로 구분한다. 버전 3.0의 활성 개발 브랜치 이름은 dev이다.
BranchesAndChannels
소스 브랜치
main
main은 안정 버전 소스 라인이다. 현재 배포된 2.x 애플리케이션과 Stable 릴리스 자동화를 포함한다. Stable 문서는 임의의 작업 트리가 아니라 v2.3.1 같은 변경 불가능한 릴리스 태그에서 생성해야 한다.
dev
dev는 버전 3.0을 위한 활성 개발 라인이다. 새로운 애플리케이션 설계, Site API 변경, Built-in Site Provider와 아직 릴리스되지 않은 수정은 이 브랜치에서 개발한다. Staging과 Nightly 빌드는 dev에 포함된 특정 커밋을 선택한다.
문서에서는 “dev 브랜치” 또는 “버전 3.0 개발”이라고 표현한다.
릴리스 채널
| 채널 | 소스 | 버전 형식 | 목적 |
|---|---|---|---|
| Stable | 일반적으로 main의 검토된 릴리스 태그 |
3.0.0 |
일반 사용자용 릴리스 |
| Staging | dev에서 수동으로 선택한 커밋 |
3.0.0-staging.N |
수동 사전 릴리스 검증 |
| Nightly | dev의 자동 선택된 고정 커밋 |
3.0.0-nightly.N |
빈번한 통합 빌드 |
Stable은 latest 업데이트 채널을 사용한다. Staging과 Nightly는 서로 다른 업데이트 채널, 앱 식별자, 릴리스 저장소와 프리릴리스 버전을 사용하므로 독립적으로 설치하고 업데이트할 수 있다.
배포와 문서 미리보기의 차이
로컬 문서 사이트에 dev preview 또는 staging 경로가 표시된다고 해서 Staging 애플리케이션이 배포된 것은 아니다. 릴리스 워크플로를 실행하기 전에도 로컬 사이트는 현재 dev 작업 트리를 문서로 만들 수 있다.
패키징 워크플로가 끝나고 해당 채널의 릴리스 저장소에 릴리스가 생성되어야 배포된 채널이다. 그 전의 working-tree 문서는 예정된 채널을 확인하기 위한 로컬 개발 미리보기일 뿐이다.
sourceRef: vX.Y.Z: 변경 불가능한 태그에서 생성된 문서sourceRef: working-tree: 현재 로컬dev작업 트리에서 생성된 개발 미리보기- 공개 Staging 또는 Nightly 문서: 릴리스 워크플로가 기록한 정확한 소스 커밋에서 생성
승격 순서
- 버전 3.0 변경을
dev에서 개발하고 검토한다. - Nightly 워크플로가 활성화되어 있다면 지속적인 통합 확인에 사용한다.
- 릴리스 수준 검증이 필요할 때 선택한
dev커밋으로 Staging을 수동 배포한다. - 호환성, 패키징, 업데이트와 마이그레이션 검증을 통과한 커밋만 Stable 버전 태그로 승격한다.
- 공개 문서는 배포된 애플리케이션과 같은 고정 커밋 또는 태그에서 다시 생성한다.