topic난이도 · 약 15

버전 관리 & 빌드 자동화

Git · SVN · CVS + 빌드 도구 Ant/Maven/Gradle + CI/CD Jenkins.

#버전관리#Git#CI/CD
왜 배우는가

버전 관리 방식(공유 폴더/중앙집중/분산) 분류와 Git 명령어가 단답으로 출제. 분산형 = Git이라는 연결이 필수.

버전 관리 시스템(VCS: Version Control System)은 소스 코드의 변경 이력을 추적·관리하는 도구다. 저장소의 위치에 따라 세 가지 방식으로 분류된다.

방식대표 도구특징
공유 폴더RCS가장 단순, 동시 편집 불가
중앙집중식CVS, SVN, Perforce중앙 서버 필수, 서버 장애 시 작업 불가
분산 저장소Git, Mercurial로컬에 전체 히스토리 복제, 오프라인 작업 가능
빌드 도구특징
AntXML 기반 빌드 스크립트, Java 초기 표준
Maven의존성 관리 + 빌드 라이프사이클, pom.xml
GradleGroovy/Kotlin DSL, 유연하고 빠름
Jenkins오픈소스 CI/CD 서버, 플러그인 생태계 풍부

Git 주요 명령 — `clone`(원격 복제), `fetch`(원격 변경 가져오기), `pull`(fetch+merge), `push`(원격 반영), `merge`(병합), `rebase`(기반 이동), `checkout`(브랜치 전환), `commit`(변경 확정), `branch`(브랜치 관리).

CI/CD 개념 — Continuous Integration(지속적 통합: 자주 합치고 자주 테스트), Continuous Delivery(언제든 배포 가능한 상태 유지), Continuous Deployment(자동 배포까지 진행). Jenkins, GitLab CI, GitHub Actions가 대표 도구.

실기 드릴 5문항
edit실기 드릴 · 단답형

분산 저장소 방식의 대표적 버전 관리 시스템은?

edit실기 드릴 · 단답형

Git 명령어 중 원격 저장소의 변경사항을 가져와 자동으로 병합까지 수행하는 명령은?

edit실기 드릴 · 단답형

Java 프로젝트의 의존성 관리와 빌드 라이프사이클을 담당하며 `pom.xml`을 사용하는 빌드 도구는?

space_bar실기 드릴 · 빈칸 채우기

CI/CD에서 ( ㉠ )는 '언제든 배포 가능한 상태를 유지'하는 것을 목표로 하고, ( ㉡ )는 테스트 통과 시 자동으로 배포까지 진행한다.

check_circle실기 드릴 · OX

SVN은 분산 저장소 방식의 버전 관리 시스템이다.