codex exec CI에서는 변경하지 않고도 코드를 분석할 수 있습니다; 먼저 샌드박스를 확인하세요: 비인터랙티브 모드는 기본적으로 읽기 전용입니다. 패치를 생성하거나 작업 공간을 수정해야 할 때는 명시적으로 --sandbox workspace-write을 전달하고 부팅 디렉터리가 체크된 Git 저장소인지 확인하세요.
최소 쓰기 명령어 작성법
codex exec \ --sandbox workspace-write \ -C "$GITHUB_WORKSPACE" \ "运行测试,修复失败项,只修改必要文件,然后重新运行测试"workspace-write 현재 작업 공간에만 쓰기를 허용하며, 이는 전체 러너를 제어하는 것을 의미하지 않습니다. 단일 실패 때문에 --yolo 또는 danger-full-access으로 전환하지 마십시오; 외부 격리가 엄격히 분리되고 작업이 실제로 필요할 때만 권한이 확장됩니다. 이전 스크립트의 --full-auto은 이미 호환성 매개변수이며; 새 파이프라인은 샌드박스를 직접 선언해야 합니다.
아직 서류를 바꾸지 않았으니, 이 세 곳을 확인해 보세요
- 창고 확인 실패: 체크아웃 성공 여부를 확인한 후
pwd및git status확인. 안전한 비창고 임시 디렉터리도--skip-git-repo-check사용할 수 있습니다. - 명령어는 상호작용 승인이 필요합니다: CI는 새로운 승인 창을 열 수 없으며, 임시 승인이 필요한 동작은 실패하고 오류가 발생합니다. 샌드박스와 승인 정책은 사전에 설정되어야 합니다.
- 프롬프트는 분석만 요구합니다: "파일 수정, 검증 실행, diff 유지"라고 명확히 명시하세요. 완성 후에는 Git diff를 확인하거나 패치 아티팩트를 생성하세요; 최종 텍스트만 마세요.
파이프라인이 파싱 가능한 결과를 얻게 합니다
전체 이벤트 스트림을 소비해야 할 때는 JSONL을 사용하세요:
codex exec --json "检查仓库并给出风险列表" > codex-events.jsonl최종 답변에 답할 때는 -o 파일에 쓰기만 하면 됩니다; 필드를 수정해야 할 때는 --output-schema을 사용하세요. 인증도 노출을 최소화해야 합니다: CODEX_API_KEY 주입은 codex exec 실행 단계에만 주입하고, 전체 작업, 의존성 스크립트, 신뢰할 수 없는 코드가 키를 읽지 못하게 해야 합니다.