# **Gradle 실전 가이드 (Kotlin DSL 기반)** ## **1. Gradle 소개** 1.1 빌드 도구란? 1.2 Gradle의 역사와 특징 1.3 Gradle과 다른 빌드 도구 비교 (Maven, Ant) 1.4 Gradle 설치 및 환경 설정 ## **2. Gradle 프로젝트 시작하기** 2.1 Gradle 프로젝트 구조 이해 2.2 `settings.gradle.kts`와 `build.gradle.kts` 파일 개요 2.3 Gradle Wrapper 사용법 2.4 첫 번째 Gradle 빌드 실행 ## **3. Gradle의 기본 개념** 3.1 프로젝트와 태스크(Task) 개념 3.2 Gradle 라이프사이클 및 실행 과정 3.3 기본 태스크 정의 및 실행 3.4 Gradle의 주요 API와 Kotlin DSL ## **4. 의존성 관리** 4.1 Gradle의 의존성 관리 개요 4.2 `dependencies` 블록과 의존성 선언 4.3 라이브러리 버전 관리 (`version catalog`, `buildSrc`) 4.4 로컬/원격 저장소 사용 (Maven Central, JitPack, 내부 Nexus) 4.5 의존성 분류 (implementation, api, compileOnly, runtimeOnly) ## **5. Gradle 플러그인과 확장** 5.1 플러그인의 개념과 역할 5.2 공식 Gradle 플러그인 사용하기 (Java, Kotlin, Application 등) 5.3 커스텀 Gradle 플러그인 만들기 5.4 플러그인과 태스크의 연계 ## **6. Gradle과 테스트 자동화** 6.1 Gradle에서 JUnit 및 Kotest 설정 6.2 테스트 태스크 실행 및 결과 분석 6.3 Jacoco를 활용한 코드 커버리지 측정 6.4 CI/CD 환경에서의 Gradle 테스트 자동화 ## **7. 멀티 모듈 프로젝트** 7.1 멀티 모듈 프로젝트 구조 7.2 `settings.gradle.kts`에서 하위 프로젝트 구성 7.3 모듈 간 의존성 관리 7.4 공통 설정 및 코드 공유 방법 ## **8. Gradle 빌드 성능 최적화** 8.1 Gradle 캐싱과 병렬 빌드 8.2 `buildSrc`와 `version catalog` 활용 8.3 속도 개선을 위한 설정 (`configuration cache`, `incremental build`) 8.4 Gradle Enterprise를 활용한 빌드 분석 ## **9. Gradle과 CI/CD** 9.1 GitHub Actions에서 Gradle 빌드 자동화 9.2 Jenkins, GitLab CI/CD와 Gradle 연동 9.3 Docker 및 Kubernetes 배포 자동화 9.4 빌드 결과물 배포 (JitPack, Maven Central) ## **10. 실전 프로젝트 적용 사례** 10.1 Spring Boot 프로젝트에서 Gradle 사용하기 10.2 Android 프로젝트에서 Gradle 최적화 10.3 Kotlin Multiplatform 프로젝트 빌드 10.4 Gradle을 활용한 서버/프론트엔드 통합 빌드 ---