문제

제목이 그걸 요약한 것 같아요.Svn의 Java 프로젝트의 지속적인 통합 빌드에 둘 중 하나가 더 나은 이유를 알고 싶습니다.

도움이 되었습니까?

해결책

오랫동안 Cruisecontrol Committer로 그리고 Hudson을 사용한 적이없는 사람은 꽤 편견이 있지만, 내 생각은 다음과 같습니다.

Hudson은 (멋진 웹 인터페이스에서) 일어나서 실행하기가 훨씬 쉽고 매우 활발한 플러그인 개발 커뮤니티가 있습니다.

Cruisecontrol은 많은 지원을 받았습니다 제 3 자 물건 플러그인 사전 피겨와 같은 XML 구성으로 깔끔한 트릭을 수행하는 이점이 있습니다.

몇 가지 빌드 만 있으면 허드슨이 명확한 승자라고 생각합니다. XML을 많이 갖고 XML을 신경 쓰지 않으면 CruiseControl의 XML 구성 트릭이 진정한 강점이된다고 생각합니다.

다른 팁

나는 동의한다 이 답변, 하지만 몇 가지 포인트를 추가하고 싶었습니다.

즉, 허드슨 강 (업데이트: 젠킨스) 지금은 더 나은 선택일 것 같습니다.무엇보다도 작업(CC 용어로 "프로젝트")을 만들고 구성하는 것은 단지 훨씬 더 빨라 Hudson의 웹 UI를 통해 CruiseControl의 XML 구성 파일을 편집하는 것과 비교됩니다(우리는 더 나은 추적을 위해 버전 제어를 유지하는 데 사용했습니다).후자는 특별히 어렵지 않습니다. 단지 속도가 더 느리고 지루할 뿐입니다.

CruiseControl은 훌륭했지만 Dan Dyer의 적절한 이름의 블로그 게시물에서 언급했듯이 왜 아직도 허드슨을 사용하지 않나요?, 그것은 첫 번째라는 어려움을 겪습니다.(음, 영국처럼 나중에 산업 혁명이 시작되면서 다른 사람들이 더 새로운 기술로 그것을 추월하기 시작했습니다.)

우리는 CruiseControl을 많이 사용하다가 점차적으로 Hudson으로 전환하여 마침내 독점적으로 사용했습니다.그리고 더 나아가 무겁게:그 과정에서 우리는 이전보다 많은 다른 용도로 CI 서버를 사용하기 시작했습니다. Hudson 작업을 설정하고 관리하는 것이 매우 편리하기 때문입니다.(현재 허드슨에는 약 40개 이상의 일자리가 있습니다.안정 및 개발 브랜치를 위한 일반적인 빌드 및 테스트 작업출시와 관련된 직업(건축 설치자 등);코드베이스에 대해 일부 (실험적인) 측정항목을 실행하는 작업특정 데이터베이스 버전에 대해 (느린) UI 또는 통합 테스트를 실행하는 것;등등.)

이 경험을 통해 복잡한 빌드를 포함하여 빌드가 많더라도 Hudson은 CC처럼 다음 작업을 수행하는 데 사용할 수 있기 때문에 꽤 안전한 선택이라고 주장합니다. 아무것, 기본적으로.Ant 또는 Maven 대상, Unix 쉘 스크립트 또는 Windows .bat 스크립트를 원하는 순서대로 실행하도록 작업을 구성하기만 하면 됩니다.

제3자 관련 항목(Jeffrey Fredrick이 여기에서 언급했습니다.) - 좋은 지적입니다만, 제 인상으로는 Hudson이 빠르게 따라잡고 있고 이미 매우 많은 수의 사용 가능한 플러그인 그것을 위해.

제가 생각하는 CruiseControl에 대해 제가 놓친 두 가지 사항은 다음과 같습니다.

  1. 손상된 빌드에 대한 경고 이메일은 Hudson의 경고 이메일보다 더 많은 정보를 제공했습니다.대부분의 경우 근본 원인은 CC의 멋진 형식의 HTML 메일 자체에서 분명하게 드러나는 반면, Hudson의 경우 일반적으로 Hudson 웹 UI에 대한 링크를 따라가서 세부 정보를 보려면 약간 클릭해야 합니다.
  2. 그만큼 CruiseControl 대시보드 기본적으로 "정보 라디에이터" (공용 모니터에 표시되거나 벽에 투사되어 항상 모든 프로젝트의 상태를 빠르게 확인할 수 있습니다.)Hudson의 첫 페이지에서는 작업 행을 모두 멋진 녹색/빨간색으로 표시하기 위해 몇 가지 Greasemonkey 트릭이 필요했습니다.

사소한 면책조항:나는 지난 1년 동안 CC 프로젝트를 자세히 살펴보지 않았습니다.(하지만 한 사람에게서 한눈에, 극적인 방식으로 변경되지 않았습니다.)

메모 (2011-02-03):허드슨은 이름이 바뀌거나 분기됨 ~처럼 젠킨스 (허드슨 제작자 가와구치 코스케 다른 사람).허드슨이라는 이름을 통제하는 오라클은 "허드슨 강" 주변에도 있지만 개인적으로 추천하는 것은 젠킨스, Oracle이 뭐라고 말하든 상관 없습니다.

마지막 프로젝트, 우리는 Cruisecontrol에서 시작했습니다. 흔들렸다. 그런 다음 우리는 허드슨으로 이사했는데 더 많은 사람들이 흔들렸다. 내가 허드슨에 대해 좋아했던 것 :

  • 업스트림 및 다운 스트림 프로젝트. 따라서 데이터 액세스 코드에 대한 커밋은 결국 프레젠테이션 계층의 빌드를 트리거합니다.

  • 기존 프로젝트를 새로운 프로젝트의 시작점으로 쉽게 사용하십시오. 따라서 개발 지점을 만드는 습관이 있다면 이들이 지속적인 통합하에 있는지 확인하는 것이 스냅입니다.

한 가지 차이점은 Hudson이 단일 천재 지성인 인 Kohsuke Kawaguchi의 산물이라는 것입니다. 그로 인해 일관되고 일관성이 있으며 견고합니다. 단점은 진행률에 약간의 제한이 될 수 있습니다. 그러나 Kohsuke는 엄청나게 많은 것이므로 너무 걱정하지 않을 것입니다. 그리고 그것은 확장 가능하기 때문에 Kohsuke에 시간이 없거나 원하지 않는 것이 있다면 아마 스스로 할 수 있습니다.

크루즈 컨트롤과 허드슨을 모두 보았지만 설정 및 구성이 훨씬 쉽기 때문에 허드슨을 선택했습니다. Hudson은 요즘 플러그인을 통해 정기적 인 릴리스와 많은 확장 성과 함께 매우 널리 사용됩니다. 나는 그것을 강력히 추천합니다.

제 생각에는 허드슨이 더 사용자 친화적인 대안입니다.웹 인터페이스를 통해 완벽하게 설정하고 유지 관리할 수 있습니다(물론 웹앱의 초기 설치는 제외).

CruiseControl에 대해 이것을 말할 수 있는 유일한 방법은 내장된 XML 파일 편집기를 계산하는 것입니다.

그럼에도 불구하고 두 가지를 모두 사용해 본 후에도 자동화된 빌드가 없는 것보다는 어느 쪽이든 선호합니다.

나는 크루즈 컨트롤을 시도했다 ... 좋은 ... 그러나 문서는 조각난다. 대시 보드는 혼란 스럽습니다. 위젯 생성도 혼란 스럽습니다. 허드슨을 시도한 적이 없습니다. 주말에 시도 할 것입니다.

나는 최근에 전복을 사용하는 Borland BDS 2006 프로젝트를 건설용으로 Jenkins를 설립했으며 매우 만족합니다. 나는 아직 cruisecontrol을 사용하지 않았으므로 비교할 수 없습니다. 자세한 내용은 내 블로그 게시물을 읽으십시오.

Jenkins와 Delphi 프로젝트의 지속적인 통합

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top