GitHub Pages를 활용한 멀티 서비스 모노레포입니다. pnpm
워크스페이스를 사용하여 여러 정적 웹 서비스를 효율적으로 관리하고 배포합니다.
al-bur.github.io/
├── services/ # 모든 서비스 소스 코드
│ ├── portfolio/ # 포트폴리오 서비스
│ └── todo-app/ # 할일 관리 서비스
├── dist/ # 빌드된 정적 파일 (GitHub Pages가 서빙)
├── scripts/ # 유틸리티 스크립트
├── .github/ # GitHub Actions 워크플로우
├── package.json # 루트 패키지 설정
└── pnpm-workspace.yaml # pnpm 워크스페이스 설정
pnpm install
# 모든 서비스 개발 서버 실행
pnpm dev:all
# 특정 서비스만 개발 서버 실행
pnpm dev portfolio
pnpm dev todo-app
개발 서버가 실행되면 다음 URL로 접속 가능합니다:
# 모든 서비스 빌드
pnpm build
# 빌드 결과 미리보기
pnpm preview
새로운 서비스를 간단하게 생성할 수 있습니다:
pnpm create-service my-new-service
이 명령어는 다음을 자동으로 생성합니다:
services/my-new-service/
디렉토리pnpm dev <service>
- 특정 서비스 개발 서버 실행pnpm dev:all
- 모든 서비스 개발 서버 실행pnpm build
- 모든 서비스 빌드pnpm build:service <service>
- 특정 서비스만 빌드pnpm create-service <name>
- 새 서비스 생성pnpm serve
- 빌드된 파일을 로컬 서버로 서빙pnpm clean
- 빌드 결과물 정리pnpm preview
- 빌드 후 미리보기GitHub Pages에 자동 배포되도록 설정되어 있습니다:
main
브랜치에 코드 푸시https://al-bur.github.io
에서 접속 가능https://al-bur.github.io/
https://al-bur.github.io/{service-name}/
각 서비스는 다음 구조를 가집니다:
services/my-service/
├── src/
│ ├── index.html # 메인 HTML 파일
│ ├── style.css # 스타일시트
│ └── script.js # JavaScript
└── package.json # 서비스별 설정
/{service-name}/
경로에서 동작합니다../
를 사용해 메인 페이지로 돌아갈 수 있습니다이 레포지토리에는 다음 예제 서비스가 포함되어 있습니다:
각 서비스는 독립적으로 개발하고 배포할 수 있으며, 메인 페이지에서 통합된 네비게이션을 제공합니다.
Happy coding! 🎉