Skip to main content

소개

개발을 시작하기 전에 다음 사항을 이해해 주시기 바랍니다.
  • Overleaf는 공식적으로 내부 저장소에서 개발되며, 커뮤니티 에디션은 overleaf/overleaf에 공개됩니다. copybot이 내부 저장소와 공개 저장소 간의 코드 동기화를 담당합니다.
  • Ayaka-notes/overleaf-pro는 Overleaf 커뮤니티 에디션을 포크한 버전입니다. 이 프로젝트가 오래 지속되기를 바라므로, 기여하기 전에 아래 규칙을 따라 주세요.

커밋 규칙

  • 기존 Overleaf 코드를 대규모로 수정하지 마세요. 가능한 한 많은 기능을 services/web/modules 폴더에 모아 주세요. 이렇게 하면 나중에 코드를 병합하고 업데이트할 때의 작업량을 최소화할 수 있습니다.
  • 바이브 코딩은 확실히 매우 쉬운 방법이지만, 프로젝트를 쉽게 엉망으로 만들어 나중에 유지보수가 불가능해질 수 있으므로 신중하게 사용해 주세요.
  • 개발 중에 번역 관련 콘텐츠를 추가하지 마세요. 가능한 한 기존 번역을 사용하세요.
  • 꼭 필요한 경우가 아니라면 환경 변수를 새로 도입하지 마세요. 필요한 경우 Overleaf Toolkit 또는 docs.overleaf.com의 환경 변수와 최대한 일관되도록 하세요.

브랜치 규칙

overleaf-pro 개발에는 다음 브랜치를 사용합니다.
  • main: 이 브랜치는 업스트림 코드 동기화에만 사용되므로, 외부 변경 사항을 절대 커밋하지 마세요. 이 브랜치에는 ce-v[X.x.x]와 같은 태그를 설정하며, 이는 Overleaf 공식 커뮤니티 에디션의 v[X.x.x]에 해당함을 나타냅니다. 참고: 이 태그는 변경할 수 없습니다!
  • server-pro: 일상적인 개발을 위한 기본 브랜치입니다.
  • feature-X: 특정 기능을 개발하는 데 사용하는 브랜치입니다.
  • release-vX.0.0: 릴리스 전용 브랜치로, 릴리스 전에 핫픽스를 진행합니다.

Overleaf Pro의 브랜치 규칙

GitHub Action

GitHub Action은 자동 CI/CD를 담당하며, 다음 작업을 포함합니다.
  • main 브랜치 야간 업데이트
  • 개발용 Docker 이미지 빌드
  • Docker 이미지 릴리스

Q&A

먼저 Docker 이미지를 pull한 후, 다음 명령을 실행하여 이 Docker 이미지의 레이블을 확인해야 합니다.
bash
그런 다음 커밋(b0d05c0)이 업스트림 master 브랜치에 있는지 확인할 수 있습니다.
이는 예상된 동작입니다. 6.0.1 릴리스는 6.0.0 이미지를 기반으로 빌드된 소규모 패치 릴리스입니다. 변경 사항은 새 커밋으로 이미지를 다시 빌드하는 대신 기존 6.0.0 이미지에 패치를 적용하는 방식으로 반영됩니다. 따라서 이미지 내부의 커밋 해시는 6.0.0과 6.0.1에서 동일합니다.자세한 내용은 hotfix를 참조하세요.
마지막 수정일 2026년 10월 4일