빌드 및 테스트
Gemini CLI 빌드, 테스트 및 디버깅에 대한 완전한 가이드
빌드 프로세스
빌드 시스템과 개발 워크플로우 이해하기
npm run bootstrap
종속성을 설치하고 패키지를 연결합니다
Usage:
초기 설정 및 새로운 종속성 추가 후
npm run build
종속성 순서대로 모든 패키지를 빌드합니다
Usage:
테스트 또는 릴리스 전
npm run build:watch
감시 모드에서 패키지를 빌드합니다
Usage:
활발한 개발 중
npm run clean
빌드 아티팩트와 node_modules를 정리합니다
Usage:
빌드 문제가 발생했을 때
테스팅 프레임워크
Jest와 TypeScript를 사용한 포괄적인 테스팅
npm run test
모든 패키지의 모든 테스트를 실행합니다
Usage:
전체 테스트 스위트 실행
npm run test:watch
감시 모드에서 테스트를 실행합니다
Usage:
개발 중
npm run test:coverage
테스트 커버리지 보고서를 생성합니다
Usage:
품질 보증 및 CI/CD
lerna run test --scope @gemini/core
특정 패키지의 테스트를 실행합니다
Usage:
집중적인 테스팅
개발 워크플로우
권장되는 개발 및 테스트 워크플로우
초기 설정
개발 환경을 설정하고 종속성을 설치합니다
git clone https://github.com/google-gemini/gemini-cli.git && cd gemini-cli && npm run bootstrap
개발 모드
자동 재빌드를 위한 감시 모드를 시작합니다
npm run build:watch
테스팅
개발 중에 지속적으로 테스트를 실행합니다
npm run test:watch
품질 검사
커밋 전에 코드 검사, 포맷팅 및 타입 검사를 실행합니다
npm run lint && npm run type-check && npm run test:coverage
디버깅
문제를 디버깅하기 위한 도구와 기법
디버그 모드
상세한 출력을 위해 디버그 로깅을 활성화합니다
DEBUG=gemini:* gemini ask "안녕하세요"
이것은 모든 Gemini CLI 작업에 대한 상세한 로그를 보여줍니다
VS Code 디버깅
제공된 VS Code 실행 구성을 사용합니다
.vscode/launch.json
중단점을 설정하고 VS Code에서 직접 디버깅합니다
테스트 디버깅
특정 테스트를 디버깅합니다
npm run test -- --testNamePattern="API Client"
특정 테스트 케이스를 실행하고 디버깅합니다
성능 프로파일링
성능 문제를 프로파일링합니다
node --prof packages/cli/bin/gemini
분석을 위한 성능 프로파일을 생성합니다
지속적 통합
자동화된 테스팅 및 품질 보증
빌드
TypeScript를 컴파일하고 모든 패키지를 빌드합니다
테스트
단위 테스트를 실행하고 커버리지 보고서를 생성합니다
배포
패키지를 게시하고 문서를 배포합니다
일반적인 문제
일반적인 빌드 및 테스트 문제에 대한 해결책
빌드 실패
변경사항을 가져온 후 빌드가 실패하면 정리하고 재설치를 시도하세요
npm run clean && npm run bootstrap && npm run build
테스트 실패
간헐적인 테스트 실패의 경우 증가된 타임아웃으로 테스트를 실행하세요
npm run test -- --testTimeout=10000
메모리 문제
빌드 중 메모리 부족 오류가 발생하는 경우
NODE_OPTIONS="--max-old-space-size=4096" npm run build
다음 단계
이러한 리소스로 개발 여정을 계속하세요