gitea 로 프로젝트 관리하기

gitea 로 간편하게 프로젝트 관리 및 이슈 관리하는 법

저는 개인적으로 git remote 서버를 운영하고 있습니다. 보통 일반 개인들은 github 에 무료로 자신의 개발 소스를 올려서 관리를 하는데요, 제 개인적으로 관리를 하고 싶거나 공유하기 어려운 소스들은 집에서 서버를 운영하면서 관리를 하는 중입니다.

서버라고 해서 거창하거나 하진 않습니다. 집 책상 구석에 작은 노트북 하나에 “gitea” 를 설치하여 운영하고 있는데, gitea는 매우 가볍고 빠르기 때문에 저 혼자 사용하는데에 전혀 지장이 없습니다. 굉장히 만족하고 있는 중입니다.

gitea 를 쓰기 전에는 git 형상 관리 툴로 유명한 “gitlab” 을 사용하였는데요, 소스 파일이 늘어나고 용량이 커지니 비교적 넉넉하던 데스크톱 PC가 CPU 점유율이 100%에 육박하는 현상이 발생했습니다. 해결해 보려고 했으나 gitlab 자체가 워낙 리소스를 많이 점유하기로 유명한 툴이어서 포기를 했습니다.(관련 내용은 위 링크를 참고하시기 바랍니다)

그래서 대안으로 사용하던 gitea 는 쉬운 설치에 매우 가벼워서 제가 사용하기에 너무나 적합한 형상관리 툴입니다. 그래서 현재는 gitea로 모든 소스를 이전하고 원격으로도 접속하여 사용중에 있습니다.

gitea는 최대한 리소스를 적게 먹는 대신에 기본적인 기능 위주로 구성되어 있느데요, 그럼에도 gitea는 개인 뿐만 아니라 소규모의 개발사에게도 사용이 가능할 정도로 프로젝트 관리나 이슈 관리 기능이 들어 있습니다.

오늘은 gitea에서 프로젝트 관리 기능에 대하여 설명해 볼까 합니다.

gitea 의 내 저장소에서 프로젝트 생성

gitea에 내 계정으로 로그인한 메인 화면은 아래와 같습니다.

github 와 비슷한거 같지만 더 심플한 느낌을 가지고 있습니다. gitea는 각 저장소별로 프로젝트 관리와 이슈 생성, 마일스톤, 위키 기능이 있습니다. 가볍지만 나름 있을건 다 있는 gitea 입니다.

일단 예시로 제가 올린 저장소를 들어가 보겠습니다.

라즈베리파이로 openwrt 개발 프로젝트와 관련된 저장소입니다. 저장소의 메인 화면은 코드, 이슈, 풀 리퀘스트, 프로젝트, 릴리즈, 위키, 활동 순으로 메뉴가 표시되어 있습니다. 코드 메뉴는 일반적인 git 형상 관리 도구의 모습을 띄고 있습니다.

여기서 프로젝트를 한번 생성해 보겠습니다.

프로젝트 메뉴에서 “New project” 를 클릭하면 신규 프로젝트를 생성할 수 있습니다.

그럼 위와 같이 새 프로젝트를 생성하는 창이 나타납니다. 여기서 제목과 내용, 프로젝트 템플릿 등을 입력 및 선택하고 “Create Project” 를 누르면 생성이 됩니다.

요렇게 생성이 되었네요.

마일스톤 생성

다음으로 “마일스톤” 을 생성해 보겠습니다. 마일스톤은 특정 기능이나 이슈에 대한 일정을 정리할 때 사용하면 좋습니다. 위에 “마일스톤” 버튼을 클릭해 봅니다.

그럼 위의 그림과 같이 마일스톤 관련 화면이 나타납니다. 아직 생성한 마일스톤이 없이 때문에 화면이 출력된 마일스톤은 없습니다. 그럼 오른쪽 상단의 “새로운 마일스톤” 을 클릭하여 마일스톤을 생성해 보겠습니다.

위와 같이 새 마일스톤을 입력할 수 있습니다. 타이틀과 기한, 설명을 적습니다. 기한은 적어도 되고 안적어도 됩니다. “마일스톤 생성” 버튼을 누릅니다.

그럼 요렇게 새로 마일스톤이 생성됩니다.

마일스톤에서 이슈 생성 및 관리

마일스톤이 생성되었으면 마일스톤 내에서 “이슈” 를 생성 및 관리를 할 수 있습니다. 이슈는 각 기능별이나 버그에 대하여 여러개를 생성하여 처리하는게 가능합니다.

좀전에 생성한 마일스톤을 클릭해 봅니다.

그럼 위와 같이 “MQTT 서버 기능 구현” 이라는 마일스톤에 대한 이슈들이 표시가 됩니다. 아직은 이슈가 생성되지 않았기 때문에 리스트에는 표시가 되지 않습니다. “새로운 이슈” 버튼으로 이슈를 생성해 보겠습니다.

새 이슈는 “MQTT Receive Topic 정의 및 구현” 이라고 적었습니다. 그리고 내용을 기술할 수 있는데 내용은 “마크다운” 문법으로 적는게 가능합니다.

오른쪽 사이드바를 보면 태그, 레이블, 마일스톤, 프로젝트, 담당자 등을 지정할 수 있습니다. 따라서 해당 이슈가 어떤 태그, 레이블, 마일스톤, 프로젝트, 담당자인지 알 수 있으며 프로젝트를 협업을 할때 유용하게 사용할 수 있을꺼 같습니다.

지정이 끝났으면 “이슈 생성” 을 클릭합니다.

이슈가 생성이 되면 위와 같이 해당 이슈가 “오픈” 이 됩니다. 따라서 이 이슈는 완료나 해결이 될때까지 Open 상태로 히스토리가 관리가 됩니다.

이슈가 닫히기 전까지 코멘트를 통해서 팀원들의 의견을 수시로 정리할 수가 있습니다.

코멘트는 타임라인 형태로 지속적으로 관리가 되며 이슈가 마무리 되면 “닫기” 버튼을 통해 이슈를 Clear 처리 하면 됩니다.

다시 마일스톤으로 가보겠습니다. 현재 “MQTT 서버 기능 구현” 이라는 마일스톤에서 1개의 이슈가 오픈 되었다고 나오는군요. 이런 방식으로 여러개의 이슈를 Open 및 Close 처리를 할 수 있습니다.

제가 진행하는 프로젝트 중에서 2개의 이슈가 발생하였고 해당 이슈들을 처리하여 Close 처리를 한 마일스톤의 모습입니다. 2개 오픈 중에 2개가 닫혔기 때문에 진행률이 100%로 표시가 됩니다.

이렇듯 gitea 로도 간단하게 프로젝트 관리와 이슈 처리가 가능합니다. 개인이나 규모나 크지 않은 소규모 팀 혹은 기업에서도 gitea를 통해 개발 프로젝트 관리를 하는게 어느정도 가능할 것으로 생각됩니다.

또한 위키에서는 해당 프로젝트나 저장소에 대한 정보들을 기술해 놓는게 가능합니다.

위키메뉴에서 위키 페이지를 작성할 수 있으며 문법은 마크다운으로 작성할 수 있습니다. 위키에는 이미지나 첨부파일도 첨부가 가능해서 팀원들의 자료 공유에도 꽤 유용할 것으로 생각됩니다.

가볍고 빠르지만 있을 것은 다 있는 gitea는 꽤 추천할 만한 형상관리 도구 중 하나입니다.

'코드도사(codedosa.com)'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.