빌드 및 테스트

Gemini CLI 빌드, 테스트 및 디버깅에 대한 완전한 가이드

BuildTesting

빌드 프로세스

빌드 시스템과 개발 워크플로우 이해하기

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:

집중적인 테스팅

개발 워크플로우

권장되는 개발 및 테스트 워크플로우

1

초기 설정

개발 환경을 설정하고 종속성을 설치합니다

git clone https://github.com/google-gemini/gemini-cli.git && cd gemini-cli && npm run bootstrap
2

개발 모드

자동 재빌드를 위한 감시 모드를 시작합니다

npm run build:watch
3

테스팅

개발 중에 지속적으로 테스트를 실행합니다

npm run test:watch
4

품질 검사

커밋 전에 코드 검사, 포맷팅 및 타입 검사를 실행합니다

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