CI 워크플로 생성
generate_egovframe_ciGenerate complete CI pipelines for GitHub, GitLab, and Jenkins. Configure builds, tests, and supply chain security gates, including SBOM generation and vulnerability checks.
Instructions
프로젝트에 CI 설정을 생성합니다 — platform=github(.github/workflows/egovframe-ci.yml, 기본)·gitlab(.gitlab-ci.yml)·jenkins(Jenkinsfile, Declarative). 빌드도구(maven/gradle) 자동 감지, JDK 지정, 빌드·테스트(GitLab 은 JUnit 리포트). supplyChain=true 면 이 서버의 CLI(npx egovframe-scaffold-mcp)로 SBOM 생성 → 최소 요소 7종 점검(sbom-check --fail-on minimum) → 전환 준비도 평가서(failOn 기준, 기본 supplyChain:D)를 돌려 기준을 넘으면 실패하고 보고서·SBOM 을 아티팩트로 남기는 공급망 게이트를 추가합니다(GitHub 은 PR 요약에 등급, GitLab 은 CycloneDX 리포트). npmRegistry(사내 npm 레지스트리)·offlineBundle(러너에서 본 오프라인 번들 경로)은 환경 변수로 넣습니다. Maven 빌드 단계는 원격 저장소 일시 장애(5xx·연결 끊김)일 때만 -U 로 최대 3회 다시 실행하고, mavenMirror 로 사내 미러를 지정할 수 있습니다. dryRun으로 내용만 미리볼 수 있고, 실제 생성 시 기존 파일이 있으면 덮어쓰지 않고 거부합니다. delivery=true 면 게이트 끝에 납품 패키지 단계(deliver --write → egovframe-delivery/)를 더해 아티팩트로 남깁니다.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jdk | No | JDK 버전 (기본 17, 숫자·점만 허용) | 17 |
| osv | No | 공급망 게이트에서 OSV 취약점 조회(--offline=false) | |
| dryRun | No | true면 파일 생성 없이 내용만 반환 | |
| failOn | No | 공급망 게이트(평가서)의 --fail-on 식 | supplyChain:D |
| delivery | No | v1.1: 게이트 끝에 납품 패키지 단계 추가(deliver --write → egovframe-delivery/ 를 아티팩트로 보관, 실패 항목이 있으면 단계 실패). supplyChain=true 필요 | |
| platform | No | CI 플랫폼: github(GitHub Actions, 기본) | gitlab(.gitlab-ci.yml) | jenkins(Jenkinsfile, Declarative) | github |
| supplier | No | SBOM 공급자(pom <organization><name> 이 없으면 최소 요소 '공급자'가 빠져 게이트가 실패하므로 지정) | |
| projectDir | Yes | 프로젝트 디렉터리(절대경로 권장) | |
| mavenMirror | No | v1.6: 사내 Maven 미러 URL(Nexus·Artifactory 프록시). 빌드 단계는 모든 저장소(*)를 이 미러로 보내는 settings 를 -gs 로 쓰고, 게이트의 CLI 단계는 EGOVFRAME_MAVEN_MIRROR 로 받습니다. Maven 빌드에만 적용 | |
| npmRegistry | No | 사내 npm 레지스트리 URL(NPM_CONFIG_REGISTRY 로 설정 — npx 가 이 서버를 받는 곳) | |
| supplyChain | No | true 면 공급망 게이트 추가: SBOM 생성 → 최소 요소 점검(--fail-on minimum) → 전환 준비도 평가서(failOn) → 아티팩트 | |
| secureCoding | No | v0.44: 게이트에 보안약점 점검 단계 추가(secure --fail-on high, SARIF 를 GitHub code scanning 에 업로드·GitLab·Jenkins 는 보관) | |
| offlineBundle | No | 폐쇄망 러너·에이전트에서 본 오프라인 번들 경로(EGOVFRAME_OFFLINE_BUNDLE 로 설정) |