Emdash CMS 배포 명령 컨텍스트 FAQ
monorepo·템플릿 파생·단독 프로젝트 레이아웃에서 Emdash CMS 배포 명령을 어디서 실행해야 하는지.
배포 명령은 정확히 어디서 실행해야 하나요?
기본 규칙: 대상 사이트 프로젝트 루트에서 실행합니다.
디렉터리가 잘못되면 스크립트·설정·바인딩이 잘못된 컨텍스트로 해석되기 쉽습니다.
”대상 프로젝트 루트”란?
보통 다음이 모두 있습니다:
- 프로젝트별
package.json - 사이트별
astro.config.* wrangler.jsonc(Cloudflare 흐름)
이 세 가지가 있으면 올바른 배포 컨텍스트일 가능성이 큽니다.
monorepo·템플릿 복사·단독은 어떻게 다르나요?
단독 프로젝트
가장 직접적: 모든 명령을 한 디렉터리에서 실행.
템플릿 파생
템플릿 복사 후 프로젝트 name·스크립트·바인딩을 먼저 업데이트한 뒤 배포 명령 실행.
Monorepo
배포 전에 해당 앱 패키지로 들어갑니다. 스크립트가 명시적으로 해당 패키지로 프록시하지 않는 한 monorepo 루트에서 앱 배포 명령을 실행하지 마세요.
잘못된 디렉터리의 흔한 증상은?
- 배포 스크립트 없음(실제는 하위 디렉터리에 있음)
wrangler.jsonc없음 또는 잘못된 파일 로드- 바인딩 이름 불일치(다른 프로젝트 설정 사용)
- 빌드는 되지만 배포가 잘못된 Worker 이름을 가리킴
대부분 문법 오류가 아니라 컨텍스트 실패입니다.
20초 프리플라이트
배포 명령 전에:
pwd가 예상 프로젝트를 가리키는지 확인.package.json이름이 대상 사이트와 일치하는지 확인.wrangler.jsonc의name, D1, R2가 대상 환경과 일치하는지 확인.
반복 재시도보다 시간을 절약합니다.
패키지 매니저를 섞어도 되나요?
권장하지 않습니다.
배포 흐름마다 하나만 사용해 lockfile 드리프트와 의존성 해석 불일치를 피하세요.
컨텍스트 오류를 막는 팀 관행
권장:
- README에 정확한 명령 디렉터리 문서화
- 중요 스크립트에 프리플라이트 추가
- CI에 경로 일관성 검사 추가
대부분의 배포 실패는 플랫폼 깊은 문제가 아니라 명령 컨텍스트에 대한 암묵적 가정입니다.
유용한 명령 조각
pwd
ls
npm run build
npm run deploy