메이븐과 넥서스 통합 및 자바 API 릴리스용 프리스타일 작업 생성 챕터1
젠킨스가 소스 코드 리포지터리에서 자바 API 프로젝트의 원시 소스 코드를 가져오는 방법과 빌드 도구를 사용하고 전체 빌드 수명 주기 단계를 거쳐, 아티팩트를 최종 목적지인 넥서스 리포지터리로 배포할 때까지의 방법을 설명해보자!
📂 깃의 이해
🔗소스 관리 시스템의 세가지 유형
1. 중앙집중식 버전 관리 시스템
- 특정 서버에서 운영되며, 개발자는 항상 중앙 리포지터리에 연결해서 버전 관리를 해야 한다.
- 네트워크에 연결돼 있지 않으면 로컬 시스템에서 버전 관리를 수행할 수 없다.(Tortoise SVN)
2. 로컬 비전 관리 시스템
- 로컬 시스템용 코드 리포지터리를 사용한다. 일반적이고 단순하지만, 변경 사항을 잘못된 파일에 쓸 가능성이 높아 오류에 취약하다는 문제가 있다.
3. 분산 버전 관리 시스템
1) 로컬 리포지터리
- 개발자마다 코드 변경 사항을 추적하고, 여러 버전의 코드를 유지할 수 있는 자체 리포지터리로서 로컬 시스템 내에 위치한다.
2) 중앙 리포지터리
- 개발자 모두가 접속할 수 있는 특정 네트워크에 위치하며 모든 버전의 애플리케이션 코드를 유지하는 리포지터리다. 개발자들의 모든 코드 변경 사항을 병합해 최종 버전을 갖고 있는 저장소다.
분산 버전 관리 시스템에서는 개발자는 여러 버전의 코드 파일을 관리할 수 있으며, 코드 변경에 대한 관리는 로컬 리포지터리에서 진행된다. 코드변경이 완료되고 테스트가 완료되면 코드를 중앙 리포지터리로 보내서 최종 애플리케이션의 코드로 변합되도록 한다.
해당 시스템의 장점은 네트워크에 연결돼 있지 않을 때에도 버전관리가 가능하다는 것이다.
📂 깃 설치
Git - Downloads
Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. Latest source Release 2.50.0 Release Notes (2025-06-16) Download Source Code GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but ther
git-scm.com
- Standalone Installer과 Portable 두 가지가 있는데,
Standalone은 실행파일을 다운 받고,Portable은 무설치 버전 파일로, exe파일이 아닌 7z 압축파일이 설치된다.
📂 깃허브와 깃랩
- 깃 : 분산버전 관리 시스템의 장점을 활용할 수 있는 환경을 제공하는 시스템으로서 로컬 리포지터리 생성, 코드, 브랜치 생성, 코드변경 등 필요한 명령을 제공한다.
- 깃 허브/ 깃랩 : 깃 저장소를 관리하는 클라우드 기반 웹 서비스이며, 개발자가 접속할 수 있는 중앙 리포지터리가 웹에서 생성된다.
📂 깃 프로세스 이해
1단계 : 로컬 리포지터리 생성
- 프로젝트 디렉터리에 로컬 리포지터리를 생성해야 한다.
git init

2단계 : 깃랩에 중앙 리포지터리 생성
- 깃랩 계정이 없다면 아래 사이트에서 생성 후 프로젝트를 생성한다.
- https://gitlab.com/users/sign_in/

3단계 : 로컬 리포지터리로 커밋
- 브랜치를 생성하고 코드를 로컬 리포지터리로 커밋한다.
git checkout -b <브랜치이름>
- .gitignore 파일에는 깃에서 변경내역을 추적하지 않아도 되는 디렉터리와 파일이름을 추가한다.
🔖깃 시스템
- 작업 디렉터리 : 아직 버전 관리에 추가되지 않는 코드가 위치하며, 깃 시스템은 파일의 변경 사항을 인식하지 못한다.
- 스테이징 영역 : 깃 시스템이 코드의 변경 사항을 인식 및 관리하는 영역이다.
- 커밋영역 : 변경된 코드를 커밋하면 브랜치에 영구적으로 기록된다.
API의 코드를 브랜치에 커밋하기에 앞서 스테이징 영역에 API 코드를 추가해보자.
- 아래 명령을 실행하면 . gitignore 파일에 추가된 항목을 제외한 모든 디렉터리와 파일이 스테이징 영역에 추가된다.
git add .
- 이들 파일에 변경이 발생할때마다 커밋하라는 설명이 표시된다.
- 이제 다음 명령으로 커밋할 때 필요한 사용자 이름과 이메일을 지정한다.
git config --global user.name <사용자이름>
git config --global user.email <이메일>

4단계 : 로컬 리포지터리의 코드를 깃랩으로 푸시
- 깃 자격증명 인증창이 나오고, 확인이 되면 소스코드가 깃랩 리포지터리로 푸시된다.
git push -u <깃랩 리포지터리 URL> <브랜치이름>
git push -u https://gitlab.com/pranodayb_test/jenkinsbookcalculatorapi.git FirstBranch
더보기

🖍️깃 브랜치 이름 변경하기



5단계 : 깃렙의 리포지터리에 마스터 브랜치 생성
- Master(각 개발자의 변경사항을 모두 검토한 후 병합되는 메인 브랜치로 사용될 용도)라는 새로운 브랜치를 생성한다.

릴리스 생성을 Master 브랜치로 통합된 코드에서 진행할 것이므로 기본 브랜치를 FristBranch에서 Master로 변경해보자!
- Setting > Repository > Default Branch에서 Master를 선택 후 저장한다.

- 이제 마스터가 기본 브랜치가 되었으니, FirstBranch를 삭제해보자!

'Study > 젠킨스로 배우는 CI,CD 파이프라인 구축' 카테고리의 다른 글
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - SSH (5) | 2025.08.03 |
|---|---|
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - 넥서스 설치 및 적용 (3) | 2025.07.06 |
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - 메이븐으로 프로젝트 준비 (0) | 2025.07.06 |
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - 젠킨스 작업의 이해 (4) | 2025.06.15 |
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - 사용자 관리 (0) | 2025.06.15 |