news logo


Gitlab 알아보기

 

gitlab은 버전관리 시스템인 git을 웹 및 SSH등 다양한 환경에서 사용할 수 있도록 하는 서버이며 이번 특집기사에서는 사내에서 사용중인 GitLab CE(Community Edition)의 간단한 활용법을 다뤄보고자 합니다. 오픈소스의 사용이 활발해지면서 git은 등장이후로 svn과 같은 버전관리 시스템에서 빠르게 전환 되어 최근에 공개되는 오픈소스 프로젝트뿐만 아니라 과거에 제작되어있는 프로젝트들도 거의 대부분 git으로 전환하였으며 github와 같은 온라인 git 저장소 서비스가 등장한 이후로는 단순히 소스 코드 관리를 넘어서 다양한 이슈를 공유하고 의견을 공유하는 커뮤니티 기능과 협업을 위한 유저 접근관리 등 다양한 환경이 제공되고 있습니다.

 

그림입니다.
원본 그림의 이름: 1.PNG
원본 그림의 크기: 가로 1920pixel, 세로 951pixel

<gitlab 메인화면>

gitlab은 자체적인 git저장소를 제공하고 있고 동시에 개인 혹은 단체에서 사용할 수 있도록 서버 설치 환경을 제공하고 있습니다.

gitlab에서는 프로젝트 관리자가 접근 권한을 부여해주거나 프로젝트를 공개 프로젝트(public)으로 전환하면 접근 가능한 프로젝트 목록을 확인 할 수 있습니다. 프로젝트 별로 어떤 유저에게 공개할 것인지, 어떤 권한을 부여 할 것 인지 결정할 수 있으며, 이 권한에 따라서 단순히 복제만 가능한지 아니면 소스코드의 수정이 가능한지를 결정할 수 있습니다.

 

그림입니다.
원본 그림의 이름: 2.PNG
원본 그림의 크기: 가로 1920pixel, 세로 735pixel

<프로젝트 생성>

 

프로젝트를 생성하면 파일이 아무것도 없는 프로젝트를 생성 할 수 도 있고 외부 저장소로부터 복제(clone)을 해 올수도 있으며 gitlab의 최근 버전에는 spring boot나 nodejs express같은 프로젝트의 템플릿을 생성할 수도 있습니다.

그림입니다.
원본 그림의 이름: 3.PNG
원본 그림의 크기: 가로 1429pixel, 세로 751pixel

<생성된 프로젝트>

 

파일마다 누가, 언제, 어디서, 무엇을, 어떻게, 왜 변경했는지 확인할 수 있고 이전기록을 조회하여 내용 변경이전의 코드를 볼 수 있습니다. 생성된 프로젝트는 웹에서 직접 압축파일 형태로 다운로드 가능하며 eclipse에서 직접 저장소를 복제하거나 기타 git관리 도구를 통해서 복제해올 수도 있습니다.

 

그림입니다.
원본 그림의 이름: 6.PNG
원본 그림의 크기: 가로 1533pixel, 세로 747pixel

<이클립스로 프로젝트 복제>

 

복제한 프로젝트는 로컬 저장소(내 컴퓨터)

에 저장되고 이를 commit하여 push를 하거나 pull을 통해 변경사항을 원격 저장소(gitalb)에 업로드 하거나 다운로드 할 수 있습니다. 프로젝트에 대한 소개 및 설명을 작성하고 싶을 때는 md(마크다운) 파일을 생성하여 업로드 하거나 gitlab에서 직접 파일을 생성하여 작성할 수 있습니다.

 

그림입니다.
원본 그림의 이름: 7-1.PNG
원본 그림의 크기: 가로 644pixel, 세로 350pixel

<마크다운 파일 생성>

 

프로젝트 최상위경로에 README.md을 생성하면 gitlab의 웹 화면에서 작성한 문서가 파일 포맷에 맞춰 출력됩니다. md파일은 HTML과 같이 자체적인 문서 양식이 존재하며 HTML태그를 그대로 사용할 수도 있습니다. 프로젝트 내부에 있는 파일이나 외부 링크를 연결할 수 있고 이를 이용해 프로젝트의 개요나 간단한 매뉴얼 등을 만들 수 있습니다.

그림입니다.
원본 그림의 이름: 7-2.PNG
원본 그림의 크기: 가로 1101pixel, 세로 586pixel

<메인화면의 README.md 파일>

 

gitlab에서는 이슈관리를 위한 페이지가 존재합니다. 프로젝트의 다양한 이슈들을 등록하고 공유하면서 이슈별 의견 제시 및 담당자지정 등 다양한 기능이 존재합니다.

 

그림입니다.
원본 그림의 이름: 9.PNG
원본 그림의 크기: 가로 1208pixel, 세로 690pixel

<이슈관리 화면>

 

이슈관리를 통해 현재 프로젝트의 문제점이나 추가해야할 기능, 앞으로의 기능 계획 등

을 할 수 있으며 등록된 이슈를 프로젝트 구성원이 직접 담당하여 처리했음을 알리거나, 기능 구현에 다양한 의견이 필요 할 때 의견제시 및 해결을 통해 이슈관리를 좀 더 편리하게 할 수 있습니다.

 

그림입니다.
원본 그림의 이름: 10.PNG
원본 그림의 크기: 가로 619pixel, 세로 374pixel

<구글 크롬 브라우저용 gitlab 플러그인>

 

gitlab에서는 앞서 소개했던 프로젝트의 변경이나, 이슈 등의 내역을 크롬 브라우저 플러그인을 통해 내용을 확인할 수 있습니다. 크롬 확장프로그램에서 다운로드 받을 수 있고 계정정보와 토큰정보를 입력하여 지속적으로 주기적으로 변경 내역을 알려줍니다.

지금까지 간단하게 gitlab의 활용법을 알아 봤습니다. git은 전 세계적으로 많은 프로그래머들의 사용하고 있고 특히 github와 같은 웹서비스가 활성화 되면서 이제는 거의 필수적인 요소가 되어가고 있습니다. 앞으로

프로젝트를 진행할 때 개인적인 프로젝트든 업무를 위한 프로젝트든 gitlab을 활용하여 관리하는 것을 추천 드립니다.