Mantis, SVN & CTIP Team 2 200910793 임민우 200911388 박미관 200911412 이영준 2014 Software Verification 2014.04.18
Index Mantis SVN CTIP 2
Mantis 3
Mantis_what is Mantis? Bug Tracking System 오픈소스 APM 환경기반 4
Mantis_Advantage 설치가간단함 프로젝트단위로이슈관리 버그에대한히스토리가저장 E-mail 알림 SVN 등소스버전관리시스템이랑연동 5
Mantis_System Environment Linux (Cent OS 5.8) Apache 2.2 MySQL 5.1 PHP 5.3.8 6
Mantis_Install 다운로드 압축해제 Apache 로이동 7
Mantis_Setting http://dev.viskit.co.kr:20080/mantis/admin 세팅후삭제 Config_inc.php 파일수정 8
Mantis_ 사용방법 ( 로그인 ) http://dev.viskit.co.kr:20080/mantis 접속 - 관리자계정으로로그인 9
Mantis_ 사용방법 ( 로그인후화면 ) 상단메뉴 Manage 클릭 10
Mantis_ 사용방법 ( 계정생성 ) 계정테이블위에 Create New Account 클릭 11
Mantis_ 사용방법 ( 계정생성 ) ID, E-mail, Access Level 작성후생성 12
Mantis_ 사용방법 (Access Level) Viewer 버그와버그리스트를볼수만있다 (e.g. guest) Reporter 새로운버그를보고할수있다 Updater 리포터와권한이같지만, 버그를업데이트할수있다 Developer updater 보다더많은권한을가지고있고, 실제프로젝트에대한개발이가능하다 Manager developers 보다더많은권한을가지고있고, 관리하고있는프로젝트들에대해서모든권한을가지고있다. Administrator 모든권한을가지고있다. 계정생성, 비밀번호초기화, 유저추가삭제등 13
Mantis_ 사용방법 ( 사용자로그인 ) E-mail 접속후, Mantis 가입메일에서링크클릭 14
Mantis_ 사용방법 ( 사용자로그인 ) PW 설정후 update 유저클릭 15
Mantis_ 사용방법 ( 프로젝트생성 ) Manage Manage Projects - Create New Project 클릭 16
Mantis_ 사용방법 ( 프로젝트생성 ) Project 정보입력후 Add project 17
Mantis_ 사용방법 ( 프로젝트생성 ) 다음화면에서프로젝트에사용자추가 18
Mantis_ 사용방법 ( 이슈등록 ) Report Issue 에서 Project 선택 19
Mantis_ 사용방법 ( 이슈등록 ) 세부정보입력후이슈등록 20
Mantis_ 사용방법 ( 이슈확인 ) View Issues 에서이슈를확인한다. 21
Mantis_ 사용방법 ( 이슈흐름도 ) 22
Mantis_with SVN Mantis 와 SVN 연동성공! Comment 를작성 Mantis 의 Issue 와 연동 23
Mantis_with SVN 등록된 Issue 의내용변경됨 24
Mantis_with SVN 이슈클릭시자세한정보확인가능 25
Mantis_with SVN Mantis 에서 config_inc.php 파일수정 Account : SVN 계정 Regexp : comment 정규식 Set_status_to : 변경될이슈상태 26
Mantis_with SVN SVN 에서 /hook/post-commit 생성 SVN 에서 commit 을하면해당내용을 Mantis 로보냄 27
Subversion 28
SVN_What is Subversion? 소스코드버전관리시스템 충돌없이팀단위의동시개발가능 (copy-modify-merge 패턴 ) 소스를백업하거나롤백가능 소스수정, 추가, 삭제등기록이로그로남음 29
SVN_What is Subversion? 서버와클라이언트로구성 서버내부에프로젝트마다 Repository 존재 각각의클라이언트는하나의 Repository 에접근하여소스를 읽거나갱신 30
SVN_Repository Trunk 프로젝트의중심이되는폴더 Project Trunk Bin Doc 실제개발은이곳에서진행 Src Branches SubProject Tags 1.0.0 Bin Doc Src Bin Branches Truck 에서뻗어나온또하나의프로젝트로메인프로젝트에서분기하여따로개발 Doc 1.2.0 Src Tags 버전업이나특정시점에서프로젝트전체를복사하여보관하는곳 31
SVN_install & setting (server) 다운로드및설치 저장소생성 32
SVN_setting (server) /etc/sysconfig/subversion 생성 Port : 3867 세팅 / 저장소 /conf/svnserve.conf 수정 권한이있는자만접속 Passwd authz 33
SVN_setting (server) Authz : 권한부여 Passwd : 패스워드설정 /etc/sysconfig/iptables 방화벽추가 34
SVN_setting (server) 서비스시작 서버정상가동확인 SVN 주소 svn://dev.viskit.co.kr:23867/2014sma 35
SVN_install (client) Help Eclipse Market place 36
SVN_install (client) Svn 검색 subversive SVN Team provider 1.1.2 install - 설치후이클립스재실행 37
SVN_install (client) SVN Kit 1.3.8 을 클릭하고설치 38
SVN_install (client) 커넥터창을종료한경우 Help install new software 에서 http://community.polarion.com/projects/subversi ve/download/eclipse/3.0/ 를추가 39
SVN_install (client) Connector 설치 40
SVN_Setting (client) Project 우클릭 Team ShareProject 41
SVN_Setting (client) URL 에 svn://dev.viskit.co.kr:23867/2014sv 입력 사용자계정및패스워드입력 42
SVN_Checkout (client) 소스가져오기 저장소의소스폴더의복사본을받고, 이에대한버전관리를시작함 (-> 저장소와동기화 ) File -> Import -> SVN -> Project from SVN 43
SVN_Update & Commit Update 저장소의소스폴더와비교하여변경된부분을검사하고최신버전으로동기화를맞춤 Commit 소스를변경한후저장소에반영 Commit 할때마다버전이증가하여변경사항이기록 44
SVN_Update & Commit 먼저작업을끝낸개발자가 Commit 하게되면, 이후에 Commit 하는작업자들은 Commit 실패 Commit 실패한개발자들이 Update 하게되면최신버전의소스코드와자신의소스코드를 Merge Update 하게되면그소스파일의버전이바뀜 45
SVN_ 개발흐름도 저장소생성 프로젝트등록 Checkout /Update Commit Branches / Tag 소스수정 Export
CTIP 47
CTIP_What is CTIP Continuous Test & Integration Platform CI 개념을프로젝트에쉽게적용하기위한 platform CTIP 이제공하는기능 CI서버를통한지속적통합및빌드 품질도구들을통한코드품질검토 빌드결과의배포및관련자에게통보 48
CTIP_Tools Tool CI Server Build Automation Testing Quality Management Code Management Bug Tracking & Community Static Analysis Name Cruise Control Ant JUnit JDepend Subversion Mantis Find bugs, PMD 49
CTIP_Environment Testing Buid Automation PMD CI Server Report Bug Tracking & Communication Feedback Developer Commit / Update Checkout / Update Version Control Report 50
CTIP_Cruise Control with SVN Cruise Control 의 config.xml 수정 51
CTIP_Cruise Control with SVN Cruise Control 의 config.xml 수정 52
CTIP_Cruise Control with SVN Project checkout 및 build-2014sv.xml 생성 주기적으로서버에서 update 실행하여소스최신화 주기적으로소스를확인하여자동 build 53
CTIP_Cruise Control with SVN Cruise Control 주소 http://dev.viskit.co.kr:28080/ 54
Thanks 55