결제대행사 연동 프로젝트 첫 커밋을 가볍게 시작하는 법
목차
새 프로젝트 첫 커밋
결제대행사 연동 솔루션 신규 프로젝트의 첫 삽을 떴음. 빈 디렉토리에 그래들 래퍼 뜯어 넣고, .gitignore 깔고, 빌드 스크립트 골격만 박아두는 작업. 별 거 아닌 것 같지만 매번 이 단계에서 30분~1시간씩 까먹음.
왜 래퍼부터 박는가
팀에 합류하는 사람마다 로컬 그래들 버전이 다르면 빌드 결과도 달라짐. 래퍼 jar/properties 같이 커밋하면 클론하자마자 동일한 버전이 자동으로 내려와서 환경 차이가 사라짐.
- 로컬 시스템 그래들 영향 안 받음
- 신규 인원 온보딩 시간 단축
- 빌드 자동화 환경에서도 동일한 결과 보장
- 버전 업글 시 PR 한 방으로 추적 가능
.gitignore 한 번에 챙기기
이거 처음부터 안 깔면 IDE 설정 파일이나 빌드 산출물이 슬쩍 커밋됨. 한 번 커밋된 쓰레기는 history 에서 빼기 까다로워서 첫 커밋에 다 박아둠.
| 무시 대상 | 이유 |
|---|---|
| 빌드 산출물 디렉토리 | 재생성 가능, 용량 큼 |
| IDE 설정 | 사람마다 취향 다름 |
| 로컬 환경 변수 파일 | 비밀값 유출 방지 |
| 로그 파일 | 로컬 실행 흔적 |
빌드 스크립트는 골격만
이번 프로젝트는 결제 플랫폼 내부에서 여러 결제대행사 연동을 표준화하는 솔루션이라 의존성이 빠르게 불어날 게 뻔함. 그래서 첫 커밋에는 플러그인 정의와 의존성 블록 형태만 잡고, 실제 라이브러리는 일부러 비워뒀음.
plugins {
// 자바, 스프링부트, 의존성 관리만 등록
}
dependencies {
// 모듈별로 분리 예정. 여기는 공통 베이스만
}
이렇게 하면 다음 커밋에서 라이브러리 하나 추가할 때 diff 가 깔끔하게 의도만 드러남. 처음부터 한 방에 다 때려박으면 나중에 누가 뭐 왜 추가했는지 추적이 안 됨.
회고 한 줄
초기 커밋은 가벼울수록 좋음. 폴더 구조와 빌드 도구 버전 합의만 끝내고, 실제 코드는 다음 커밋부터. 첫 커밋이 뚱뚱하면 그 안에 숨은 결정들이 커밋 메시지 한 줄에 통째로 묻혀버림. 며칠만 지나도 왜 그렇게 했는지 본인도 기억 못 함.
다음
댓글 0
첫 댓글 달아줘.