요즘 아마도 가장 많이 쓰이는 소스버전관리는 역시 SVN이다. 그런데, 이 SVN을 아주 싫어해서 GIT이라는 소스 버전관리 프로그램을 만든 것이 내가 알기로는 리눅스를 만든 리누스 토발즈다. 

그래서 현재 코딩하는 많은 사람들이 쓰고 있는 데, 특히 요즘은 클라우드시대를 맞이하여 온라인으로 소스를 올리고 서로 협업해서 사용하는 사람들도 많다.





아마도 가장 핫한 온라인 소스 버전관리는 GItHub가 아닌가 한다. 그런데, 여기서 가입하고 사용을 하려면 좀 그런 것이 프라이빗한 프로젝트를 생성해서 사용하려고 하면 역시 돈을 내야 한다. 물론 머 소스를 공개하면 당연히 공짜다. 그런데, 사람마음이 또 그런 것이 개인적으로 하는 프로젝트 같은 것은 굳이 꼭 여기에 올리고 싶은 마음이 없게 된다. 그래서 얼마전에 JIRA를 사용하다가 알게 된 것이 바로 Bitbucket 이다.





사이트 주소는 http://bitbucket.org 이다. 비트버킷은 지라를 만든 회사에서 운영하는 곳이다. 기능은 점점 현재 보강되고 있는 추세다. 결정적으로 여기서는 5명의 사용자까지는 공짜다. 소스가 공개이든, 비공개이든 말이다.


그리고 여기서는 GIT와 머큐리얼기반의 소스 버전관리 기능을 제공한다. 당연히 이슈 트래킹기능도 제공을 하고, 위키도 지원을 한다. 따라서 비용은 없고 소스버전관리를 하고 싶은 개인개발자는 여기를 사용하는 것도 좋은 방법이다. 


기존의 GIThub/SVN/Google Code에서 컨버팅하여 소스를 가지고 오는 기능도 존재한다. 



소스 랭귀지가 어떤 것인지에 따라서 화면상에 소스의 컬러를 다르게 나타내어서 구분하게도 하여준다. 


내 생각엔 많은 사람들이 Github 만 알고 있는데, 이 Bitbucket 도 한번쯤 사용해보는 것도 좋은 방법일듯 싶다.








댓글을 달아 주세요


일단 JIRA(이하 지라) 와 피쉬아이를 쓰게 되면 둘을 연동할 수 있는 상태가 된다. 그런데 지라에서 발행한 특정 이슈에 대해서 개발자가 매번 들어가서 상태를 변경하는 것이 힘들다. - Solve, Close 이런 상태로 말이다. 그래서, 이런 상태 변화를 원활하게 해주기 위해서 피쉬아이에서는 Smart Commit이라는 것을 제공한다.

방법은 다음과 같다

1. 먼저 피쉬아이에서 스마트 커밋을 활성화시킨다.
     http://confluence.atlassian.com/display/FISHEYE/Enabling+Smart+Commits


2. 개발자가 소스를 수정하고 커밋할 때, comment  부분에 이슈와 관련 명령어를 넣어주면 해당 이슈와 연동하여 상태가 변화한다. 

 JRA-123 JRA-234 JRA-345 #resolve  
이것은 JIRA-123, 234,345에 대해서  Resolve로 상태를 변경한 것이다.



http://confluence.atlassian.com/display/FISHEYE/Using+Smart+Commits
 
위의 링크를 참조하면 될 듯하다.

 



댓글을 달아 주세요

회사에서 일을 하면서 최근에 가장 고민을 했던 것이 요청자인 나와 개발자간의 자료 공유였다. 어떤 버그나 이슈가 생기면 나는 시스템에 이 것이 적용가능한가를 일차 검토하고 이 자료를 기반으로 Powerpoint/Excel등으로 정리를 하고 메일로 송신을 하고 개발자는 검토한 이후에 다시 메일로 의견을 송신하여 온다. 그 후에 최종적으로 확정을 한다.

그런데, 여기서 문제가 생긴다. 개발자와 요청자이면서 설계자인 나와는 그냥 메일로 주고 받고 하는 데, 담당자가 바뀌고 이 후에 변경을 추적하거나 관련된 문서를 어떻게 찾아낼 것인가가 문제가 된다. 이렇게 되면 어떻게 할 수없는 상황이 된다.

그동안 무슨 문제가 있었는지, 어떻게 해당 상황을 해결했는지 말이다. 이걸 다시 그 시점에 자료 정리하고 설명하라면 하겠나?
그래서 이슈 트래킹 시스템이 필요하다. 

사실 개발자와 나는 그동안 이슈 리스트와 일정표를 구글 Docs/Calendar를 통해서 공유해왔다. 이것은 단지 메일로 주고 받던 차원과 다름아니다. 그래서 시스템화해야 한다고 생각했다. 그런 중에 이슈 트래킹을 알게 되었다. 

가장 많이 사용한다는 두 가지로 압축을 하고 검토하였다.

첫번째는 당연히 오픈소스에서 가장 많이 사용하는 Trac이었다.
트랙은 현재 사용중인 subVersion과도 궁합이 잘 맞는다. 기본적으로 윈도우즈와는 잘 맞진 않지만 오픈소스라서 공개라서 가격이 무료라는 장점이 있다 . 그런데 막상 데모 사이트를 보니 텍스트위주로 티켓을 발행하고 관리를 하고 있어서 눈에 확 들어오는 스타일은 아니었다. 트랙은 데모 사이트에서 여러 가지를 해볼 수 있다. SVN과도 연동이 잘 되고 위키문법과도 잘 맞지만 초기 설정이 생각보다 그렇게 쉽지 않다.



두번째는 상용인 Atlassian의 JIRA였다.  
지라는 일단 상용이다. 가격적인 측면에서 보면 Starter 버전은 10User에 10불로 그다지 비싸지 않지만, 그 다음인 25 유저에서는 가격이 1000불이상으로 올라간다. 즉, 스타터버전은 처음 사용하는 사용자를 위한 버전이다.
일단, 이 지라는 오픈소스 프로젝트에는 공짜로 제공이 되고, 10 유저의 가격 10불은 저개발 국가의  Room to Read 에 기부된다고 한다. 역시 데모사이트를 제공하고 있으며 좀 더 화려한 인터페이스를 제공한다.  보다 더 직관적인 인터페이스를 제공한다고 보면 된다. 현재 시점으로 5.0 Beta가 배포중이다. 




 

결론적으로는 JIRA를 사용하기로 했다. 일단 현재 사용자가 2-3명정도였으며, 좀 더 편한 인터페이스를 제공하기 때문이다. 그런데 만약 Subversion을 사용하는 개발자가 있다면 반드시 이 회사의 Fisheye를 같이 사용하길 권장한다. 이 제품을 사용하면 Smart Commit을 이용하여  SVN에 커밋할 때 사용자가 Comment에 이슈번호를 적고 그것을 Closed/Resolved로  표시하면 이슈와 자동적으로 연동이 되는 기능을 제공한다. 다음에 이 스마트 커밋에 대해서 포스팅할 것이다. 

JIRA를 사용하려면 몇 가지 주의할 점이 있었다.
  1. 테스트용으로 다운받아서 사용시에는 로컬 내부 DB를 사용할 수 있다. 하지만 운영시에는 반드시 별도의 DB가 필요하다. 우리는 MySql을 사용했지만 기존에 사용가능 오라클이나 MS SQL DB가 있다면 그 부분에 넣도록 고민을 해 볼 필요도 있다. 관리적인 문제이므로 크게 고민을 하지 않을 수도 있다. DB 이전은 백업받고 다시 복구하면 이전이 가능하므로 크게 부담을 가지지 않아도 될 문제일 것이다. 
     
  2.  SVN 연동시에는 반드시 Fisheye를 사용해야 효과가 커진다. Fisheye를 같이 쓰면 SVN의 커밋 상황을 각 리비전 별로 검색하고 이슈와 연동시킬 수 있다. 아니면 지라에서 SVN Plugin을 사용해야 하는 데 , 이게 호환성 문제가 좀 있어보여서 제대로 테스트가 잘 이루어지지 않은 경험이 있다. 

    

'IT > Issue Tracking' 카테고리의 다른 글

Issue Tracking - JIRA  (0) 2011.10.11



댓글을 달아 주세요



티스토리 툴바