본문 바로가기

Development

Trac(공동 개발 지원 도구) 사용법

Trac은 Subversion과 연동되는 강력한 공동 개발 지원 도구이다.
즉, 여러 명이 하나의 소프트웨어를 개발할 때 아이디어의 순환과 역할의 분담, 버그의 추적과 수정을 원활히 할 수 있도록 해 주는 도구이다. Trac은 Wiki, Roadmap, Ticket이라고 하는 크게 세 가지의 기능을 가지고 있는데, 각각의 기본적인 사용법에 대해서 다룰 것이다.

본 포스트에서는 Trac의 설치는 다루지 않고 단순한 개발 참여자의 입장에서 필요한 Trac의 사용법만을 다룬다.

다음은 Trac의 메인 페이지이다.
사용자 삽입 이미지
Trac의 메인 페이지. 기본적으로 Wiki 페이지를 볼 수 있다.

Trac은 접속시 Wiki 페이지를 기본적으로 볼 수 있다. Wiki는 일반적인 페이지들의 연결집합체라고 볼 수 있는데, 특징은 사이트 관리자만이 아니라 누구나 페이지 내용을 수정할 수 있고, 또 원하면 추가도 가능하다는 것이다.

페이지를 추가하고자 하면 Wiki 하단의 'Edit this page'를 클릭하여 페이지 수정 화면으로 들어간다. 페이지 중간 아무데에나, 다음과 같이 입력한다.

[wiki:"원하는 페이지 이름"]

이는 "원하는 페이지 이름"이라는 페이지로 가는 링크를 생성시켜준다. 하지만 아직 "원하는 페이지 이름"이라는 페이지가 생성되지 않았으므로 변경 사항을 저장하고 변경된 페이지를 봐도 회색의 물음표 링크가 뜰 것이다. 이 링크를 클릭하면 드디어 새 페이지를 만드는 창이 나오고, 여기서 새 페이지를 작성한 후 저장하면 새 페이지가 만들어짐과 동시에 기존 페이지와의 링크가 형성된다.

이와 같이 모든 Wiki 페이지들은 자신을 참조하는 1개 이상의 링크를 가지고 있어야 하며, 그렇지 않을 경우 페이지는 존재하나 접속할 수 없는 상황이 발생하게 되어 주의를 요한다.

Wiki의 글 작성은 여느 Wiki Formatting을 따른다. 또한 기본적으로 [wiki:] 링크 방법을 쓰지 않아도 다음의 규칙을 따르는 단어는 자동으로 해당 페이지로 링크가 형성된다.

  • 영문으로만 구성되어 있다.
  • 대문자로 시작한다.
  • 대문자가 최소 2개이며, 대문자와 대문자는 사이에 적어도 하나의 소문자를 가지고 있어야 한다.
다음은 Timeline 페이지의 모습이다.

사용자 삽입 이미지

Wiki 수정, Ticket 발행 및 수정, 소스코드의 Commit 등 개발과 관련한 모든 사항이 시간의 순서에 따라 나열되어 있다. 최근에 이 프로젝트에서 어떤 일들이 행해졌는지 보려면 이 Timeline 페이지를 참조하면 된다.

다음은 Roadmap 페이지의 모습이다.

사용자 삽입 이미지

Trac은 Milestone이라는 개념을 가지고 있다. 이는 하나의 마감 기한을 뜻한다. 예를 들어, 1.0버전의 릴리즈를 2007년 12월 31일로 목표하고 있다면, 이는 하나의 마일스톤이 될 수 있고, 1.0버전의 릴리즈를 위해 행해지는 모든 개발 작업은 모두 이 마일스톤의 작업이 된다. 여러 개의 마일스톤이 동시에 진행될 수도 있다. 이러한 모든 마일스톤의 진행 상황을 깔끔한 그래프의 형태로 보여주는 페이지가 Roadmap이다.

위 스크린샷에서는 마일스톤은 1개이고, 해당 마일스톤에서 총 발행된 Ticket의 수가 6개이며 그 중 2개가 왼료되었다는 것을 나타낸다.

* Milestone은 프로젝트 관리자만이 추가/제거/수정할 수 있다.

다음은 View Source 페이지이다.

사용자 삽입 이미지

보는 것과 같이 깔끔한 탐색기의 모양을 하고 있는 편리한 Source-Viewer이다. 우측에는 Revision과 최근에 그 파일/폴더의 변경사항을 나타낸다.

* Revision이란 그 파일/폴더가 총 몇 번째 Commit된 파일인지를 나타내는 수치이다. 1회의 Commit마다 Revision이 1씩 증가한다.

다음은 Ticket View 페이지이다.
사용자 삽입 이미지

현재까지 발행된 모든 티켓을 나타낸다. 특히 가장 강력한 기능은, 우측 상단에 위치한 Custom Query인데, Ticket의 모든 세부사항들을 이용하여 원하는 Ticket만을 골라내 볼 수 있는 검색기능이다.

* 티켓이란, Trac에서 가장 중요한 개념으로, 해야 할 하나의 작업의 단위를 뜻한다. 예를 들어 어떠한 버그가 발견되면, 발견한 사람은 해당 버그를 수정하라는 내용의 Ticket을 발행하여 개발자에게 Ticket을 전달한다. Ticket을 받은 개발자는 해당 Ticket이 해결할 수 있는 문제일 경우 수용(Assign)해서 해당 문제를 해결하고 폐기한다. 만약 자신의 능력으로 힘들 경우 다른 사람에게 Ticket을 전달하여 다른 사람이 해결할 수 있도록 한다. 그 문제가 절대 고쳐지지 않는 문제라면, 해당 개발자는 Ticket을 폐기한다.

각 Ticket을 클릭하면 Ticket의 세부내용을 볼 수 있으며, 만약 자신에게 전달된 Ticket이라면 Ticket을 수용/폐기 할 수 있다.


출처 : Harry's_Lab