cruisecontrol & subversion

24
0792014 남남남 0792026 남남남

Upload: branden-dalton

Post on 03-Jan-2016

44 views

Category:

Documents


3 download

DESCRIPTION

CruiseControl & Subversion. 0792014 남민우 0792026 오승용. Contents. 1) CruiseControl Introduce Advantage Main Modules Index 2) Subversion 버전관리시스템의 목적 , CVS 와 SVN 시스템 구축 (Server) Eclipse 연동 (Client) Example. 1) CruiseControl - Introduce. What is the CruiseControl? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CruiseControl  & Subversion

0792014 남민우0792026 오승용

Page 2: CruiseControl  & Subversion

1) CruiseControl◦ Introduce◦ Advantage◦ Main Modules◦ Index

2) Subversion◦ 버전관리시스템의 목적 , CVS 와 SVN◦ 시스템 구축 (Server)◦ Eclipse 연동 (Client)◦ Example

Page 3: CruiseControl  & Subversion

What is the CruiseControl?- 지속적 통합 (CI) 을 위한 구성요소 중 하나인 CI Tool 로 버전저장관리소와 연동하여 정기적으로 빌드 구축을 실행하고 , 빌드 스크립트를 수행한다 .(Java 버전 , 닷넷 프레임 워크버전 두 가지가 존재 )

What is the purpose of CruiseControl?- 여러 개발자들이 개발소스 코드를 지속적인 통합 (CI) 을 하려면 코드를 버전저장관리소에 Check in, Check out 할 때마다 , 빌드 구축을 해야 한다 . 이런 번거로움 없이 이걸 대신 자동화 해주는 것이 CruiseControl 이다 .

Page 4: CruiseControl  & Subversion

Advantage of CruiseControl- 오픈 소스의 빌드 스케쥴러이기 때문에 금전적 부담 없이 사용 가능하다 .

- 많은 버전저장관리소 (SVN,CVS …) 와 연동이 가능하여 확장성이 뛰어나다 .

- 수동 구축으로 인해 소비되는 시간을 줄이고 , 프로그래머가 프로그래밍에 집중할 시간이 늘어나 시간절약이 된다 .

- 결과 보고서를 통하여 모든 코드가 오류 없이 제대로 동작하는지 검증할 수 있다 .

Page 5: CruiseControl  & Subversion

1.Build loop

CruiseControl 의 핵심 모듈로 규칙적인 시간 간격으로 실행되는 빌드이며 , 컴파일 오류와 실행시 테스트 성공 /실패 여부를 찾아낼 수 있다 . Config.xml 과 같은 파일로 환경을 구성하여 , 빌드의 주기를 조정할 수 있다 .

빌드의 상태에 대해서 E-mail, RSS 과같은 방법으로 사용자에게 알려준다 .

- 출처 http://cruisecontrol.sourceforge.net

Page 6: CruiseControl  & Subversion

2. Reporting CruiseControl 의 Build Loop 의결과를 아래와 같이 보여준다 .

왼쪽 창에는 프로젝트의 빌드 여부를 확인 할 수 있고 , 이전 빌드의 대해서 세부사항을 링크로 제공한다 .

오른쪽 창에는 사용자가 빌드의 결과를 탐색하고 , 산출물( 컴파일 오류 , 테스트 결과 , 빌드 변경 사항 ) 에 엑세스 할 수 있다 .

- 출처 http://cruisecontrol.sourceforge.net

Page 7: CruiseControl  & Subversion

3. Dashboard

CruiseControl 이 제공 하는 웹 인터페이스로 버전저장관리소에 폴링 후에 자동으로 구축한 모든 프로젝트의 빌드 상태 ( 성공 /실패 여부 ) 들을 다양한 색상의 스냅샷으로 볼 수 있게 제공한다 .

- 출처 http://cruisecontrol.sourceforge.net

Page 8: CruiseControl  & Subversion

Trunk – project 의 가장 중심이되는 디렉토리 모든 프로그램 개발 작업은 trunk 디렉토리에서 이루어진다 .

Check out – Repository 에서 작업공간으로 파일을 인출하는 것 .

Check in – Check out 하여 수정된 소스를 저장소에 반영하여 최신 version 으로 갱신하는 것 . (=commit)

Commit – Check out 한 소스를 수정 한 뒤 저장소에 갱신하는 것 .

Polling – 버전관리시스템에 변경사항을 체크하는 것 .

Page 9: CruiseControl  & Subversion

Update – 버전저장관리소에 있는 최신 version 의 변경된 소스를 가져오는 것 . ( 즉 , 새로 commit 된 파일을 전달 받는다 .)

Branches – project 의 진행에 영향을 주지 않으면서 새로운 기능 , 기술 등을 시험해 보고 싶을 때 , project 본류와 병행적으로 개발하여 , 개발 성공 시 trunk 와 합류시킬 수 있다 .

Tags - 현재 릴리즈된 소스를 관리하기 쉽게 따로 보관하는데 사용 . 즉 , 개발을 위한 것이 아니라 보관을 위한 것이기 때문에 export 만 해야 한다 . 체크아웃하여 커밋 할 경우 경고 메시지가 출력된다 .

Page 10: CruiseControl  & Subversion

구분 CVS SVN

커밋 단위 파일 체인지 셋 (change set)

원자적 커밋 ( 커밋 실패시 롤백 ) 미지원 지원

처리 속도 느림 빠름

파일과 디렉토리의 삭제 , 이동 , 이름 변경 , 복사

미지원 지원

소스코드외 이진파일( 문서 라이브러리 ) 지원

미지원 지원

GUI 지원여부 지원 지원

WEB Interface 지원여부 지원 지원

버전관리시스템의 목적1)소스 코드의 변경사항을 보존하고 , 과거 특정 시점의 소스 파일 및 디렉토리의 내용을 손쉽게 확인가능 ( 버그 및 문제점 추적에 유용 )2)협동 작업시 각자가 수정한 부분을 팀원 전체에게 동기화하는 과정을 자동화하기 위하여3)대규모의 수정작업을 보다 안전하게 진행하기 위하여

Page 11: CruiseControl  & Subversion

시스템 구축 (Server) VisualSVN Server Install http://www.visualsvn.com/server/download/

Page 12: CruiseControl  & Subversion

VisualSVN Server 설치후 실행 시 화면 http:// 컴퓨터이름 : 해당포트 /svn/ = 서버 주소

Page 13: CruiseControl  & Subversion

VisualSVN Server 계정 생성

Page 14: CruiseControl  & Subversion

VisualSVN Server 저장소 생성 Repository Name 에 만들 저장소의 이름 입력 Create default structure 를 체크하면 trunk, branches, tags 폴더 자동생성

trunk - 소스의 주 개발 작업을 진행하는 폴더branches - 소스의 실험적인 작업을 진행하는 폴더 , 소스의 현재 버전을 유지보수 하고 , 현재 버전을 기반으로 차기 버전을 개발할 경우 이 폴더 이용tags - 현재 릴리즈된 소스를 관리하기 쉽게 따로 보관하는데 사용 . 즉 , 개발을 위한 것이 아니라 보관을 위한 것이기 때문에 export 만 해야 한다 . 체크아웃하여 커밋 할 경우 경고 메시지가 출력된다 .

Page 15: CruiseControl  & Subversion

VisualSVN Server 접속

서버 주소로 접속 하면 계정과 비밀번호를 입력

VisualSVN Server 접속

서버 접속 시 첫 화면 //SVNTEST 는 생성한 저장소의 이름

Page 16: CruiseControl  & Subversion

Subclipse Plugin

Page 17: CruiseControl  & Subversion

Plugin 완료 후 View 창에 SVN 저장소 추가

Page 18: CruiseControl  & Subversion

SVN Server 와 연결 및 로그인

Page 19: CruiseControl  & Subversion

SVN Server 에 프로젝트 공유

Page 20: CruiseControl  & Subversion

ShareProject 완료 후 [Team]-[Commit] 을 꼭

해주어야 SVN 서버에 저장된다 . Commit = checkin

Page 21: CruiseControl  & Subversion

실제 사용 모습 저장소에서 Update 시킬 프로젝트 Checkout.

Page 22: CruiseControl  & Subversion

Javatest.java 소스 수정

Page 23: CruiseControl  & Subversion

수정한 소스를 저장소에 Commit 시킨 후

수정에 대한 Comment 를 남김

Page 24: CruiseControl  & Subversion

[Show History] Revision = Update 번호 Date = Update 한 시간 Author = Update 한

사람