사내 GitLab 도입·운영

과제별로 흩어져 있던 소스와 산출물을 자체 호스팅 GitLab 으로 모으고, 그룹 명명·병합 요청·아카이브까지 이어지는 운영 규약을 세워 유지하고 있습니다.

연표로 돌아가기

소스가 개인 PC 와 공유 폴더에 흩어져 있어 과제가 끝나면 어디에 무엇이 있는지 찾기 어려웠습니다. 사내망에 GitLab 커뮤니티 판을 직접 올리고, 코드와 문서를 한곳으로 모으는 것부터 시작했습니다.

쓰는 사람이 없으면 저장소만 생기고 끝나므로 교육을 함께 열었습니다. 버전관리 개념부터 계정·저장소 생성, 커밋과 브랜치 운용까지 사내 실무교육 과정을 만들어 진행했고, 가입 신청과 승인은 제가 받습니다.

그룹은 과제 단위로 두고 이름을 연도·발주처·과제명 순으로 짓는 규칙을 정했습니다. 회사 자체 자산은 별도 그룹에 모아, 저장소 이름만 보고도 어느 과제의 무엇인지 알 수 있게 했습니다.

변경은 브랜치에서 병합 요청으로 올리고 설명은 요청일과 핵심 내용만 적는 규약을 두었습니다. 태그를 밀면 빌드가 도는 파이프라인과 배포본을 올려 두는 패키지 저장소를 붙여, 사내 도구의 자동 업데이트가 여기서 배포본을 받아 가도록 했습니다.

협력사 개발자에게는 과제 그룹 단위로 권한을 주고, 접근 토큰은 자격 증명 관리자에만 두게 했습니다. 끝난 과제의 저장소는 이력을 묶음 파일로 뽑아 저장 장치에 보관하는 절차로 이어집니다.

구조와 흐름

저장소 구조와 흐름

사내 GitLab (자체 호스팅)"토큰 · 권한""종료 과제"그룹 = 과제연도 - 발주처 - 과제명프로젝트 저장소병합 요청리뷰 규약main태그 푸시 시 빌드패키지 저장소배포본 · 자동 업데이트개발자 · 협력사 계정저장 장치 아카이브git bundle
그룹 이름만으로 어느 과제의 무엇인지 드러나게 하고, 끝난 과제는 묶음 파일로 보관합니다.
GitLabGitDockerCI