✨ Feature Request
🚀 새로운 기능 제안
💡 어떤 문제를 해결하나요?
현재 프로젝트는 코드 변경 사항이 발생했을 때 수동으로 빌드하고 테스트해야 합니다. 이 과정은 다음과 같은 문제점을 야기합니다:
- 시간 소모: 코드 변경 후 매번 수동으로 빌드 및 테스트를 실행해야 하므로 개발 시간이 지연됩니다.
- 오류 발생 가능성: 수동 작업은 휴먼 에러 발생 가능성이 높아 빌드 및 테스트 과정에서 실수가 발생할 수 있습니다.
- 지속적인 품질 검증 부재: 코드가 main 브랜치에 merge되기 전에 자동으로 품질을 검증하는 절차가 없어 잠재적인 버그나 회귀(regression)가 뒤늦게 발견될 수 있습니다.
- 협업 효율성 저하: 여러 개발자가 동시에 작업할 때 각자의 코드 변경이 다른 개발자의 코드에 미치는 영향을 즉시 파악하기 어렵습니다.
🎯 제안하는 기능
GitHub Actions를 활용하여 CI (지속적 통합) 파이프라인을 구축하여 위에서 언급된 문제들을 해결하고자 합니다. 이 기능이 추가되면 다음과 같이 동작할 것입니다.
- 자동 빌드 및 테스트:
main 브랜치에 코드가 푸시되거나 풀 리퀘스트(Pull Request)가 생성될 때마다 자동으로 프로젝트를 빌드하고 모든 테스트 코드를 실행합니다.
- 신속한 피드백: 빌드 또는 테스트 실패 시, 개발자에게 즉시 알림이 전송되어 문제를 빠르게 인지하고 해결할 수 있도록 돕습니다.
- 코드 품질 자동 검증: Java 환경 설정, Gradle 빌드, 그리고 JaCoCo를 통한 코드 커버리지 리포트 생성을 포함하여 코드의 품질을 자동으로 검증합니다. 특히
src/test/java 경로의 모든 테스트 코드가 실행됩니다.
이를 통해 개발자는 코드 변경 후에도 항상 안정적인 상태를 유지하고 있는지 확인할 수 있으며, 관리자의 개입 없이 코드 품질을 지속적으로 관리할 수 있습니다.
📝 상세 기능 설명 (선택 사항)
- UI/UX 변경 사항: 이 기능은 사용자 인터페이스에 직접적인 변경 사항을 가져오지 않습니다. GitHub 저장소의 "Actions" 탭에서 CI 파이프라인의 실행 상태, 로그, 테스트 결과 및 JaCoCo 리포트를 확인할 수 있게 됩니다.
- 기술적인 고려사항:
- GitHub Actions 워크플로우 파일(ex:
/.github/workflows/ci.yml)을 생성하고 설정합니다.
- Java 17 환경 설정 및 Gradle을 통한 빌드 및 테스트를 포함합니다.
./gradlew 스크립트의 실행 권한(chmod +x gradlew)을 부여하는 단계를 포함하여 빌드 환경에서 발생할 수 있는 권한 문제를 해결합니다.
- JaCoCo 코드 커버리지 리포트를
build/reports/jacoco/test/jacocoTestReport.xml 경로에서 수집하여 아티팩트로 업로드합니다.
- 초기 CI 파이프라인 구축 후, 필요에 따라 CodeQL과 같은 정적 분석 도구를 추가하여 보안 취약점 검사를 통합할 수 있습니다.
- 대안:
- Jenkins, CircleCI, GitLab CI/CD 등 다른 CI/CD 도구를 사용할 수도 있지만, GitHub Actions는 GitHub 저장소와의 통합이 가장 용이하고 설정이 간단하여 초기 구축 및 관리에 유리합니다.
✅ 예상 결과
이 기능이 성공적으로 구현되었을 때 다음과 같은 이점을 기대합니다.
- 개발 생산성 향상: 코드 변경 후 수동 빌드 및 테스트에 소요되는 시간을 절약하여 개발자가 핵심 기능 개발에 집중할 수 있습니다.
- 코드 품질 향상: 자동화된 테스트 및 빌드 과정을 통해 버그를 조기에 발견하고, 회귀를 방지하여 소프트웨어의 전반적인 품질을 높입니다.
- 안정적인 배포 준비: 항상 빌드 가능하고 테스트를 통과한 상태의 코드를 유지함으로써 CD(지속적 배포) 파이프라인으로의 전환을 위한 기반을 마련합니다.
- 협업 효율 증대: 모든 변경 사항에 대한 자동 검증을 통해 팀원 간의 코드 충돌 및 통합 문제를 조기에 발견하고 해결할 수 있습니다.
➕ 추가 정보 (선택 사항)
없음.
- 담당자: @KimKiHyun0206
- 기한: 2025.08.3
✨ Feature Request
🚀 새로운 기능 제안
💡 어떤 문제를 해결하나요?
현재 프로젝트는 코드 변경 사항이 발생했을 때 수동으로 빌드하고 테스트해야 합니다. 이 과정은 다음과 같은 문제점을 야기합니다:
🎯 제안하는 기능
GitHub Actions를 활용하여 CI (지속적 통합) 파이프라인을 구축하여 위에서 언급된 문제들을 해결하고자 합니다. 이 기능이 추가되면 다음과 같이 동작할 것입니다.
main브랜치에 코드가 푸시되거나 풀 리퀘스트(Pull Request)가 생성될 때마다 자동으로 프로젝트를 빌드하고 모든 테스트 코드를 실행합니다.src/test/java경로의 모든 테스트 코드가 실행됩니다.이를 통해 개발자는 코드 변경 후에도 항상 안정적인 상태를 유지하고 있는지 확인할 수 있으며, 관리자의 개입 없이 코드 품질을 지속적으로 관리할 수 있습니다.
📝 상세 기능 설명 (선택 사항)
/.github/workflows/ci.yml)을 생성하고 설정합니다../gradlew스크립트의 실행 권한(chmod +x gradlew)을 부여하는 단계를 포함하여 빌드 환경에서 발생할 수 있는 권한 문제를 해결합니다.build/reports/jacoco/test/jacocoTestReport.xml경로에서 수집하여 아티팩트로 업로드합니다.✅ 예상 결과
이 기능이 성공적으로 구현되었을 때 다음과 같은 이점을 기대합니다.
➕ 추가 정보 (선택 사항)
없음.