'Traq'에 해당되는 글. 1건

  1. 2007/04/16 Mantis 설치 – 버그 트래킹 하기

Mantis라고 Bug Tracking 시스템이 있다. 사내에서 필요할 것 같아서 설치하였다.

사실 여기에 해당하는 프로그램은 사실 엄청나게 많은데 (참조)


여러 가지로 고민(?)하다가 Mantis가 채택이 되었다.

Mantis를 몇 일 테스트 본 느낌은 디자인이 매우 투박한 것, 문서화 수준이 별로라는 것 빼놓고는 그럭저럭 쓸만한 것 같다.

아래는 혹시 내가 다음에 설치할 상황을 위해서 혹은 Mantis를 설치할 다른 사람을 위해서 설정한 Configuration file을 공유한다.

내가 사용하는 환경은 Windows/PHP/Apache/MySQL이며
아래와 같은 Feature들을 사용한다.

  • SVN/TortoiseSVN/WebSVN 연동
  • Issue의 상황이 변동될 때, E-Mail 발송
  • jpGraph 사용으로 통해 Graphical한 통계 사용

<?php

    # set these values to match your setup
    $g_hostname = "localhost";
    $g_db_username = "root";
    $g_db_password = "";
    $g_database_name = "bugtracker";
    $g_db_type = "mysql";

    # your e-mail
    $g_administrator_email = 'administrator@.com';
    $g_webmaster_email = 'webmaster@.com';
    $g_from_email = 'bugtracker@.com';
    $g_return_path_email = 'admin@example.com';

    # --- file upload settings --------
    $g_allow_file_upload    = ON;  
    #$g_login_method = MD5;
    $g_validate_email = OFF;
    $g_default_language = 'korean_utf8';
    $g_back_language = 'korean_utf8';

    $g_smtp_host = "exchange.com";
    $g_smtp_username = "";
    $g_smtp_password = "";
    $g_phpMailer_method = 2; // Using STMP


    $g_window_title = "My Bug Tracker";   

    $g_use_jpgraph = ON;
    $g_jpgraph_path ='./jpgraph-1.21b/src/';

    

    $g_default_advanced_report    = ON;
    $g_default_advanced_view        = ON;
    $g_default_advanced_update    = ON;


    $g_source_control_account = 'administrator';
    $g_source_control_notes_view_status = VS_PUBLIC;
    $g_source_control_set_status_to = RESOLVED;
    $g_source_control_regexp = "/\b(?:issue|bug)s? #?(\d+)\b/i";
    $g_source_control_fixed_regexp = "/\bfixed (?:issue|bug)s? #?(\d+)\b/i";

    $g_bottom_include_page        = '%absolute_path%/my/bottom.php';
    $g_top_include_page        = '%absolute_path%/my/top.php';

    

?>



SVN과 연동하게 되면 아래와 같이 변경사항을 Commit할 때, Issue#를 적어주면 해당 Issue의 Memo에 Log글이 추가된다.



사용자 삽입 이미지

 

사용자 삽입 이미지


SVN 쪽에서도 설정이 필요한데, Repository의 hooks 디렉토리 밑에 post-commit.bat를 만들고 아래 내용을 넣어 주어야 한다. SVN에서 Commit할 때, 실행되는 스크립트로 Matis의 Memo에 포스팅하는 역할을 담당한다. 여기에 Posting 하게될 컨텐츠의 모양은 자신에 맞게 잘 Customizing하면 된다.

REM #################################

REM Post-commit hook for MantisBT integration

REM #################################


SET REPOS=%1

SET REV=%2

SET DETAILS_FILE=C:\tmp\svnfile_%REV%

SET LOG_FILE=C:\tmp\svnfile_%REV%_Log

SET DIFF_FILE=C:\tmp\svnfile_%REV%_DIFF


echo ****** Source code change ******>>%DETAILS_FILE%

svnlook log -r %REV% %REPOS%>>%DETAILS_FILE%

echo -------------------------------->>%DETAILS_FILE%

echo SVN Revision:%REV%>>%DETAILS_FILE%

svnlook changed -r %REV% %REPOS%>>%DIFF_FILE%


C:\PHP5\php.exe "C:\iconv.php" %DETAILS_FILE% euc-kr utf-8

C:\PHP5\php.exe "C:\link_websvn.php" %REPOS% %REV% %DIFF_FILE% >> %DETAILS_FILE%

C:\PHP5\php.exe "C:\bugtracker\core\checkin.php" <%DETAILS_FILE% >%LOG_FILE%

DEL %DETAILS_FILE%
DEL %LOG_FILE%
DEL %DIFF_FILE%



끝으로, TortoiseSVN에도 자체적으로 BugTracker와 연동하는 기능이 있는데 아래 그림과 같이 설정하면 된다.

설정을 하면 SVN Log보기에서 관련된 Mantis의 Issue 페이지로 바로 이동하게 할 수 있다.




---
jpGraph에서 한글이 나오게 하는 법은..

사용자 삽입 이미지


여기를 참조하세요.
Posted by U∙Seung