'Subversion'에 해당되는 글 4건

  1. 2013.08.26 젠킨스 overview by 즐건세상
  2. 2009.02.04 서브버전 표시문 줄이기 by 즐건세상
  3. 2009.02.04 subversion MKCOL 405 error by 즐건세상
  4. 2009.01.17 subversion 설치하기 by 즐건세상

젠킨스 overview

IT/ASLC 2013. 8. 26. 11:48

1.젠킨스(jenkins) Overview

2.젠킨스(jenkins) 설치

3. 샘플 프로젝트

4. Ant 를 이용한 빌드

5. 젠킨스(jenkins) 시작


What is Jenkins?
젠킨스는 소프트웨어 프로젝트 빌딩하는 작업 또는 크론(cron)에 의해서 실행되는 작업 같은 반복되는 작업들의 실행을 모니터링하는 어플리케이션이다.

소프트웨어 프로젝트의 빌딩/테스팅은 지속적이어야 한다.

젠킨스는 사용하기 쉬운 CI(Continuous Integration) 시스템을 제공한다. 젠킨스는 개발자들이 프로젝트의 변화를 통합하는 작업을 더 쉽게 만들어준다. 젠킨스는 사용자들의 최신의 빌드를 얻는데 더 쉽게 만들어 준다. 자동화되고, 지속적인 빌드는 생산성을 증가시켜 준다.

외부에서 실행되는 작업이나, 크론(cron) 같은 작업들과 프락메일(procmail) 작업들, 심지어 원격 머신도 모니터링을 실행한다. 예를 들어, 크론의 작업 결과를 정기적인 이메일로 받고,  당신은 이메일을 부지런히 주시하고, 뭔가 잘못됐을 때 알림을 받게 된다.

젠킨스는 이러한 결과들을 유지시켜주고, 뭔가 잘못됐을 때 알림을 받기 쉽게 해준다.

■ Features

1.쉬운 설치

java -jar jenkins.war 명령을 실행 또는,

서블릿 컨테이너에 jenkins.war 파일을 디플로이(deploy)

더  이상 추가적인 인스톨이나 데이터베이스는 없다.

2. 쉬운 설정

젠킨스는 즉각적인 에러 확이과 인라인 도움말 기능을 갖춘 친숙한 웹 GUI 설정 환경을 젠킨스의 모든  설정에서 사용할 수 있다. 젠킨스는 더이상의 XML 이 필요없긴 하지만, 당신이 원하면 그렇게 할 수도 있다.

3. 변경 집합(set) 지원

젠킨스는 서브버전(Subversion)이나, CVS로부터 체크아웃을 소스 코드를 받아 온다. Repository의 부하를 줄이기 위해 변경된 부분만 받아온다.

4. 영구 링크
Permanent links: Jenkins gives you clean readable URLs for most of its pages, including some permalinks like "latest build"/"latest successful build", so that they can be easily linked from elsewhere.

5. RSS/E-mail/IM 통합

빌드에 대한 결과를 실시간으로 RSS 또는 e-mail로 모니터링 할 수 있다.

6. After-the-fact tagging
 Builds can be tagged long after builds are completed.

7. JUnit/TestNG 테스트 보고

젠킨스는 테스트 결과를 테이블 형태, 요약, 테스트가 언제 실패했는지와 같은 히스토리 정보도 보여준다. 히스토리 경향을 그래프로 보여준다.

8. 분산 빌드

젠킨스는 여러대의 컴퓨터에서 분산 빌드/테스트를 실행 할 수 있다.

Distributed builds: Jenkins can distribute build/test loads to multiple computers. This lets you get the most out of those idle workstations sitting beneath developers' desks.

9. File fingerprinting

Jenkins can keep track of which build produced which jars, and which build is using which version of jars, and so on. This works even for jars that are produced outside Jenkins, and is ideal for projects to track dependency.
Plugin Support: Jenkins can be extended via 3rd party plugins. You can write plugins to make Jenkins support tools/processes that your team uses.

Posted by 즐건세상
l
이클립스에서 서브버전으로 연결되어 있는 프로젝트는 서브버전에 대한 정보가 길게 표시된다. 이클립스에서 이런 정보들을 편집할 수가 있다.
window-preferences 클릭한 다음 아래 그림에서 원하느대로 수정해서 사용하면 된다.

Posted by 즐건세상
l
서브 버전을 사용하다가 커밋을 날렸는데 MKCOL 405 에러가 떨어졌다.
처음에는 아파치 설정 수정해서 발생한 에러인줄알고 아파치 설정을 예전으로 돌려도 안된다. 그래서
구글에서 검색해보니 서버에 중복된 이름이 있을때 나는 에러란다.
그래서 서버에서 폴더를 삭제하고 다시 커밋을 날리니 잘된다.
Posted by 즐건세상
l

subversion 설치하기

IT/ASLC 2009. 1. 17. 12:53
cvs 에서 subversion 으로 소스 관리 툴이 넘어가는 분위기다. 이유야 여러가지가 있겠지만 개인적으로는 서브버전의 속도도 중요한 이유가 아닐까 생각된다. 현재 프로젝트에는 파일갯수가 25,000 개 정도 되는데 이클립스 CVS 플러그인으로 동기화를 하면 시간이 너무 많이 걸린다. 물론 개인의 피시 사양이나 서버의 사양에 따라 차이가 있긴 하겠지만..
서브버전을 그렇게 많이 쓰보진 않았지만 속도면에서는 많이 개선된거 같다.  CVS에 비하면 무지하게 빨라졌다. 특히 이클립스 플러그
인 보다는 거북이를 이용하면 속도는 더 빠르다.

 서브 버전 설치 방법은 이 싸이트(http://www.pyrasis.com/main/)에 가면 엄청상세하게 나와 있다. 그래서 이 글에서는 설치하는 방법보다는 서브버전에 대한 애기와 설치가 잘 안됐던 경우에 대해서 다룬다.
먼저 서브버전에 대해서 이야기를 조금 하자면, 나도 자세히는 모르지만...
서브버전은 아파치랑 연동이 되면서 webdav라는 프로토콜을 이용해서 버전관리를 하게 된다. webdav가 뭐냐면.. 기존의 http 프로토콜을 확장한 프로토콜이다. 기존의 http get, post..등의 메소드에 PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK ,UNLOCK 메소드가 추가됐다. 즉, 클라이언트에서 서버의 파일을 컨트롤 할 수 있다는 애기가 된다. 서브버전은 이런 기능을 이용해서 버전 관리를 하게 된다. 서브 버전자체로는 웹 서버의 기능이 없기 때문에(CVS는 있었지만)  아파치랑 연동해서 돌아가게된다. 아파치와 서브 버전의 연결고리가 필요한데, 그게 바로 mod_dav_svn.so 라는 파일이다. 그런데 이 연결이 제대로 안될때가 있다. 나도 잘 안되서 한참 검색을 해본 결과 서브버전싸이트에 정답이 있었다. 가까운데 나두고 멀리서 너무 찾은듯..
여기에(http://subversion.tigris.org/faq.html#mod_dav_svn-win32) 가면 해결 방법이 나와 있었다.  대충 해석하면 libdb4*.dll,
intl3_svn.dll, libeay32.dll and ssleay32.dll 파일을 아파치의 apache/bin, apache/modules 디렉토리에 복사를 해주면 된다라는 애기다. 이렇게 해도 안될 때에는 아파치와 서브버전을 최신 버전으로 설치해서 해보길 권장한다.
설치가 제대로 됐다면 서브 버전을 사용해 보고 아파치 access 로그를 보면 아래 그림과 같은 로그를 볼 수 있다. 아까 위에서 말한 메소드가 보이는것을 확인 할 수가 있다.



그리고 서브버전 클라이언트 툴로 Tortoisesvn(http://www.tortoisesvn.tigris.org/) 을 쓰보는것도 추천한다.

사용법은 검색하면 쉽게 찾을 수 있다.

Posted by 즐건세상
l