1 / 24

CruiseControl & Subversion

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?

Télécharger la présentation

CruiseControl & Subversion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CruiseControl & Subversion 0792014 남민우 0792026 오승용

  2. Contents • 1) CruiseControl • Introduce • Advantage • Main Modules • Index • 2) Subversion • 버전관리시스템의 목적, CVS와 SVN • 시스템 구축(Server) • Eclipse 연동(Client) • Example

  3. 1) CruiseControl - Introduce What is the CruiseControl? • - 지속적 통합(CI)을 위한 구성요소 중 하나인 CI Tool로버전저장관리소와 연동하여 정기적으로 빌드 구축을 실행하고, 빌드 스크립트를 수행한다. • (Java버전, 닷넷 프레임 워크버전 두 가지가 존재) What is the purpose of CruiseControl? • - 여러 개발자들이 개발소스 코드를 지속적인 통합(CI)을 하려면 코드를 버전저장관리소에 Check in, Check out 할 때마다, 빌드 구축을 해야 한다. 이런 번거로움 없이 이걸 대신 자동화 해주는 것이 CruiseControl 이다.

  4. 1) CruiseControl - Advantage Advantage of CruiseControl • - 오픈 소스의 빌드 스케쥴러이기 때문에 금전적 부담 없이 사용 가능하다. • - 많은 버전저장관리소 (SVN,CVS …)와 연동이 가능하여 확장성이 뛰어나다. • - 수동 구축으로 인해 소비되는 시간을 줄이고, 프로그래머가 프로그래밍에 집중할 시간이 늘어나 시간절약이 된다. • - 결과 보고서를 통하여 모든 코드가 오류 없이 제대로 동작하는지 검증할 수 있다.

  5. 1) CruiseControl – Main Modules 1.Build loop CruiseControl의 핵심 모듈로규칙적인 시간 간격으로 실행되는 빌드이며, 컴 파일 오류와실행시 테스트 성공/실패 여부를 찾아낼 수 있다. Config.xml과 같은 파일로 환경을 구성하여, 빌드의 주기를 조정할 수 있다. 빌드의 상태에 대해서 E-mail, RSS과 같은 방법으로 사용자에게 알려준다. • - 출처 http://cruisecontrol.sourceforge.net

  6. 1) CruiseControl – Main Modules 2. Reporting CruiseControl의 Build Loop의 결과를 아래와 같이 보여준다. 왼쪽 창에는 프로젝트의 빌드 여부를 확인 할 수 있고, 이전 빌드의 대해서 세부사항을 링 크로 제공한다. 오른쪽 창에는 사용자가 빌드 의 결과를 탐색하고, 산출물 (컴파일 오류, 테스트 결과, 빌 드 변경 사항) 에 엑세스 할 수 있다. • - 출처 http://cruisecontrol.sourceforge.net

  7. 1) CruiseControl – Main Modules 3. Dashboard CruiseControl이 제공 하는 웹 인터페 이스로 버전저장관리소에 폴링 후에 자 동으로 구축한 모든 프로젝트의 빌드 상태(성공/실패 여부)들을 다양한 색상 의 스냅샷으로 볼수 있게 제공한다. • - 출처 http://cruisecontrol.sourceforge.net

  8. 1) CruiseControl - Index • Trunk – project의 가장 중심이되는 디렉토리 모든 프로그램 개발 작업은 trunk 디렉토리에서 이루어진다. • Check out – Repository에서 작업공간으로 파일을 인출하는 것. • Check in – Check out하여 수정된 소스를 저장소에 반영하여 최신 version으로 갱신하는 것. (=commit) • Commit – Check out한 소스를 수정한 뒤 저장소에 갱신하는 것. • Polling – 버전관리시스템에 변경사항을 체크하는 것.

  9. 1) CruiseControl- Index • Update – 버전저장관리소에 있는 최신 version의 변경된 소스를 가져오는 것. (즉, 새로 commit된 파일을 전달 받는다.) • Branches – project의 진행에 영향을 주지 않으면서 새로운 기능, 기술 등을 시험해 보고 싶을 때, project 본류와 병행적으로 개발하여, 개발 성공 시 trunk와 합류시킬 수 있다. • Tags - 현재 릴리즈된 소스를 관리하기 쉽게 따로 보관하는데 사용. 즉, 개발을 위한 것이 아니라 보관을 위한 것이기 때문에 export만 해야 한다. 체크아웃하여 커밋 할 경우 경고 메시지가 출력된다.

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

  11. 2) SVN - 시스템 구축(Server) • 시스템 구축(Server) • VisualSVN Server Install • http://www.visualsvn.com/server/download/

  12. 2) SVN - 시스템 구축(Server) • VisualSVN Server 설치후 실행 시 화면 • http://컴퓨터이름:해당포트/svn/ = 서버 주소

  13. 2) SVN - 시스템 구축(Server) • VisualSVN Server 계정 생성

  14. 2) SVN - 시스템 구축(Server) • VisualSVN Server 저장소 생성 • Repository Name에 만들 저장소의 이름 입력 • Create default structure를 체크하면 trunk, branches, tags 폴더 자동생성 trunk - 소스의 주 개발 작업을 진행하는 폴더branches - 소스의 실험적인 작업을 진행하는 폴더, 소스의 현재 버전을 유지보수 하고, 현재 버전을 기반으로 차기 버전을 개발할 경우 이 폴더 이용tags - 현재 릴리즈된 소스를 관리하기 쉽게 따로 보관하는데 사용. 즉, 개발을 위한 것이 아니라 보관을 위한 것이기 때문에 export만 해야 한다. 체크아웃하여 커밋 할 경우 경고 메시지가 출력된다.

  15. 2) SVN - 시스템 구축(Server) • VisualSVN Server 접속 • 서버 접속 시 첫 화면 // • SVNTEST는 생성한저장소의 이름 • VisualSVN Server 접속 • 서버 주소로 접속 하면 • 계정과 비밀번호를 입력

  16. 2) SVN – Eclipse 연동(Client) • Subclipse Plugin

  17. 2) SVN – Eclipse 연동(Client) • Plugin 완료 후 View창에 SVN 저장소 추가

  18. 2) SVN – Eclipse 연동(Client) • SVN Server와 연결 및 로그인

  19. 2) SVN – Eclipse 연동(Client) • SVN Server에 프로젝트 공유

  20. 2) SVN – Eclipse 연동(Client) • ShareProject 완료 후 • [Team]-[Commit]을 꼭 해주어야 SVN서버에 저장된다. • Commit = checkin

  21. 2) SVN - Example • 실제 사용 모습 • 저장소에서 Update 시킬 프로젝트 Checkout.

  22. 2) SVN - Example • Javatest.java 소스 수정

  23. 2) SVN - Example • 수정한 소스를 저장소에 Commit 시킨 후 • 수정에 대한 Comment를 남김

  24. 2) SVN - Example • [Show History] • Revision = Update 번호 • Date = Update한 시간 • Author = Update한 사람

More Related