완성 배포본 만들기
- 명시된 소스 커밋을 별도 빌드 디렉터리에 준비합니다.
- 개발 환경 또는 CI에서 composer.lock 기준의 운영 vendor를 만듭니다. 개발 의존성과 실제 config·storage 데이터를 제외합니다.
- 실행에 필요한 정적 자산과 KCP 등 배포 구성요소를 포함합니다.
- version.txt·소스 커밋·파일 해시와 배포 파일 이름을 기록합니다.
- 검증 요청을 받았다면 새 설치·업그레이드와 지원 환경 검사를 전용 환경에서 수행합니다.
- 완성 ZIP과 체크섬을 배포합니다. 운영 서버에서는 의존성 설치·컴파일을 하지 않습니다.
릴리스 규칙
제품 버전의 원본은 version.txt입니다. 직접 바꾸지 않고 Release Please가 릴리스 PR에서 갱신합니다. 정식 릴리스는 해당 vX.Y.Z 태그와 GitHub Release로 배포합니다. main 스냅샷에 임의 정식 태그를 붙이지 않습니다.
코드·문서 변경 커밋은 feat·fix·refactor·docs·test·chore 형식을 사용합니다. 자동 검사 실행은 별도 사용자 요청을 따릅니다. 사용자 테마·공식 사이트 전용 파일을 일반 upstream에 섞지 않습니다.
운영 반영
- 운영 체크아웃의 현재 커밋·미커밋 변경·사이트 전용 테마를 확인합니다.
- 별도 작업 위치에서 upstream과 사이트 변경을 병합합니다.
- 설정·업로드·DB와 사이트 전용 코드를 백업합니다.
- 준비한 커밋과 완성 vendor를 적용하고 runtime을 유지합니다.
- DB 마이그레이션, 공개 경로·관리자·기존 주문 조회를 확인한 뒤 운영합니다.
- 운영 커밋과 백업 위치를 기록합니다.
업그레이드 중 auth.secret·DB 접두어·사이트 주소를 새 설치 샘플로 교체하지 않습니다. 파일을 복사할 때 storage나 실제 config까지 덮어쓰는 전체 동기화를 사용하지 않습니다.
매뉴얼 모듈 배포
이 공개 매뉴얼은 modules/manual의 선택 모듈입니다. 일반 배포에서는 비활성이며 관리자 모듈 화면에서 필요한 사이트만 켭니다. 공식 GNUCMS.com은 /manual로 공개합니다. 본문은 코드와 함께 버전 관리하며 실제 고객 데이터를 조회하지 않습니다.
문서 추가·수정은 modules/manual/README.md의 content JSON 형식과 목차·검색 인덱스 작성 규칙을 따릅니다. 설치가 하위 경로여도 내부 링크는 해당 base path를 보존합니다.
문서 파일 갱신 26-10-07 08:34:40