지속적인 통합을위한 Hudson 또는 Teamcity? [닫은]


100

우리는 사용할 CI 도구를 찾고있는 Java 상점입니다. HudsonTeamcity 는 모두 무료로 보이지만 Teamcity는 더 매끄럽고 더 많은 지원을 제공합니다.

왜 여전히 허드슨을 사용하는지, 그리고 누구라도 이에 대한 논쟁을 할 수 있는지 궁금합니다.


여기 답변에 관심이있을 수 : stackoverflow.com/questions/1200721/...은
ire_and_curses

아직 고려하지 않았다면 CruiseControl을 믹스에 넣을 것입니다. .NET 버전을 사용하면서 Java 관점에 대해 의견을 말할 수는 없지만 좋아합니다.
AdaTheDev

3
@ire_and_curses 게시물의 답글 중 어느 것도 다른 도구에 비해 두 도구에 대한 좋은 주장을 제공하지 않습니다
pdeva

4
-1 for Cruise Control- "그냥"수동으로 설정해야하는 구성 파일이 너무 많습니다.
Bevan

3
내가 볼 수있는 한, 무료 TeamCity의 존재로 인해 CruiseControl은 사라졌습니다. TeamCity를 통해 CruiseControl을 사용해야하는 이유를 찾을 수 없습니다. 그리고 그 반대의 많은 이유.
Niall Connaughton

답변:


113

Team City는 단연코 최고의 CI 서버입니다. 나를위한 킬러 기능은 IDE (IntelliJ, Eclipse 및 VisualStudio)와의 긴밀한 통합입니다. 예를 들어 IDE에서 편집중인 파일이 오래되었을 때, 파일을 변경 한 사람 및 변경 한 내용을 보여줄 수 있습니다. IDE에서 CI 서버로 커밋하고 빌드 그리드에서 컴파일 및 테스트를 실행하면 빌드가 성공하면 CI 서버가 커밋됩니다. CI 웹 앱에서 빌드 보고서를 클릭하면 IDE에서 적절한 파일이 열립니다.

사용할 수있는 플러그인이 있지만 ( http://team-piazza.googlecode.com을 작성했습니다 ) 많지는 않습니다.


9
원격 실행 / 사전 테스트 된 커밋은 TeamCity의 매우 유용한 기능입니다. 일반적으로 TC는 빌드가 빠르지 않은 경우 더 편리 할 수 ​​있습니다. TeamCity에서는 빌드에서 발생하는 일 (테스트 통과, 실패, 빌드 단계 등)에 대한 지속적인 피드백을 받기 때문입니다. 또한 TC 알림은 더 정교합니다. 다양한 유형의 빌드 및 광범위한 알림 (이메일, Jabber, Windows 트레이)에 대해 다른 규칙을 구성 할 수 있습니다.
Pavel Sher

6
@Pavel : 저는 TeamCity와 Hudson을 잘 모르기 때문에 귀하의 의견 시작 부분에 도전하지 않겠습니다. 그러나 알림과 관련하여 TC가 더 정교하다고 주장하는 것은 저의 겸손하지 않은 의견으로는 순수한 FUD입니다. 언급 된 모든 알림 채널은 Hudson에서 사용할 수 있습니다 (트위터 추가 가능). 사실 저는 Hudson이 TC보다 훨씬 더 많은 플러그인을 가지고 있다고 확신하며 ( wiki.hudson-ci.org/display/HUDSON/Plugins 확인) TC가 Hudson보다 더 많은 제한을 가지고 있다고 확신합니다.
Pascal Thivent

3
채널에 대해서는 동의하지만 (Hudson에는 많은 플러그인이 있습니다) 규칙에 대해서는 동의하지 않습니다. TeamCity에서는 변경 사항이있는 빌드를 구독 할 수 있으며 빌드가 실패하기 시작하면 알림을 받도록 선택할 수 있습니다 (예 : 첫 번째 테스트가 실패하기 시작하는시기). 성공 시퀀스 후 첫 번째 실패한 빌드 + 실패 후 첫 번째 성공에 대한 알림을 요청할 수 있습니다. 이러한 옵션은 모든 알림 채널에서 사용할 수 있습니다. 이러한 채널 중 하나는 IDE 알림입니다. 문제가 발생하면 IDE에서 바로 알림을 받게됩니다. Hudson 알림 규칙이 훨씬 간단했던 것을 기억합니다.
Pavel Sher

2
Pavel-여기서 슬링 경기를 원하지 않지만 기본적으로 Hudson은 실패한 빌드에 기여한 경우에만 이메일을 보냅니다. 원하는 경우 실패한 모든 빌드에 대해 알리도록 구독 할 수도 있습니다. 이메일 확장 플러그인에도 더 많은 옵션이 있습니다. 당신은 그것을 승인 할 필요는 없지만 그것을 잘못 표현해서는 안됩니다.
Jim T

4
빠른 Google은 Team City의 nabaztag 토끼 및 기타 귀여운 장치를 제어하는 ​​플러그인이 있음을 보여줍니다. 또는 내 답변에서 링크 한 플러그인을 사용할 수 있습니다 . 긴밀한 IDE 통합의 이점은 작업 할 때 작업중인 코드에 대해 훨씬 빠르고 집중적 인 피드백입니다. 알림을 기다리거나, 브라우저로 전환하고, 보고서를 읽고, IDE로 다시 전환하고, 적절한 파일을 열 필요가 없습니다. 다른 팀 구성원이 코드에 어떤 영향을 주 었는지 표시하기 위해 작업하면 편집기 창이 변경됩니다.
Nat

58

허드슨은 +1.

Hudson은 매우 활발한 프로젝트이며 광범위한 사용자 커뮤니티가 있습니다. 활성 사용자 메일 링리스트는 시작하기 쉽고, 사용하기 쉬우 며, 거대하고 매우 거대한 프로젝트 (JBoss, JAX-WS 등)에 사용되었으며, 따라서 입증 된 성공 기록을 보유하고 있으며, 매우 멋진 고급 기능을 제공합니다. 기능 (예 : 빌드 매트릭스, 빌드 클러스터링 등)은 오픈 소스이며 많은 플러그인이 있습니다.

그리고 지원이 정말 중요한 경우 Sun으로부터 상업적 지원을 받을 수 있습니다 . 그러나 FWIW, 나는 Hudson과 함께 어떤 차단 문제에 직면하지 않았습니다.

업데이트 : 아시다시피, Kohsuke Kawaguchi (Hudson의 창시자)는 Sun / Oracle을 떠나 자신 의 회사 시작하여 Hudson을 다음 단계로 이끌었습니다 . 즉, 이것은 Hudson에 대한 위협이 아닙니다. 그리고 지원을 찾고 있다면 구독 계획의 일부로 Hudson CI Server인증 된 버전을 얻을 수 있습니다 (이 인증 버전은 사전 정의 된 플러그인 세트와 일부 상용 플러그인이 포함 된 Hudson의 고품질 릴리스를 번들로 제공합니다).

업데이트 : 각 사용자 기반의 규모를 설명하기 위해 다음은 Indeed (실시간 쿼리)의 여러 CI 도구에 대한 작업 동향을 비교 한 것입니다 .

Hudson 빌드 엔지니어, CruiseControl 빌드 엔지니어, Bamboo 빌드 엔지니어, TeamCity 빌드 엔지니어 Job Trends

물론 이것은 기술적 지표가 아닙니다.


88
TeamCity를 구성하기 위해 특별히 고용 된 사람이 필요하지 않기 때문에 TeamCity를 사용하기가 매우 쉽습니다.
Henrik

3
@Henrik : 위 그래프의 해석은 귀하의 재량에 달려 있습니다. 하지만 예, 아마도 TeamCity는 마술 일 것입니다.
Pascal Thivent

16
지속적인 통합을 실행하기 위해 전임 빌드 엔지니어를 고용하면 이제 두 가지 문제가 발생합니다. 1) CI로 작업하기가 어려우므로 개발자가 CI에 어려움을 겪고 지식이이 한 사람의 머리 속에있을 것입니다. 2) 당신은 할 필요가없는 일을하기 위해 누군가에게 돈을 지불하고 있습니다!
Niall Connaughton

15
CI 서버를 선택했다면 전담 엔지니어가 CI 서버를 관리 할 수있는 일자리가 가장 적은 서버를 선택했습니다. 이는 개발자 도구이며 개발자가 직접 관리 할 수 ​​있어야합니다. 그렇게 할 수 없다면 다른 도구 나 다른 개발자가 필요합니다.

전혀 허드슨에 대한 +1을 의미하는 것은 아니다 그래프 작업 동향 ...
Sharique 압둘라

17

몇 가지 Flex 프로젝트를 위해 Hudson에서 시작한 다음 .NET 개발자가 CI 노력에 참여했을 때 TeamCity로 마이그레이션했습니다. 이제 TeamCity 서버를 다시 Hudson으로 교체했습니다. 주된 이유는 다음과 같습니다.-지원보다 나은 활기찬 Hudson 커뮤니티. -모든 종류의 작업을위한 엄청난 양의 플러그인. -오픈 소스. -Hudson은 무료이며 TeamCity는 10 개의 프로젝트에만 무료입니다.

편집 : TeamCity는 이제 20 개의 프로젝트에 대해 무료입니다.


2
10 개의 프로젝트 제한이 감소했으며 현재 유일한 제한은 20 개의 빌드 구성입니다. 중소 규모 프로젝트의 경우 충분할 수 있습니다.
ashwoods 2011-06-17

4
호기심으로 인해 Jenkins 플러그인을 통해 사용할 수 있었던 기능은 TeamCity 세계에서 누락 되었습니까?
Behrang Saeedzadeh

14

TeamCity는 각 개발자가 자신의 빌드 프로필을 가지고 IDE에서 연결할 수 있기 때문에 훌륭합니다. 고독한 사람은 '엉덩이 차기'입니다. GIT 등에 대한 지원도 있습니다. 진지하게 살펴보십시오. 프로페셔널 버전은 무료입니다.


5
GIT는 Jenkins / Hudson에서도 지원합니다
CJBrew 2011 년

14

Hudson 에 대한 가장 큰 주장 은 모든 릴리스에 새로운 버그가 도입된다는 것입니다.

릴리스가 매우 빈번하므로 자주 업그레이드해야 뒤처지지 않습니다. 즉, 문제를 진단하고 이전 Hudson 릴리스로 롤백하는 데 많은 시간을 할애해야합니다. (때로는 롤백이 불가능합니다!)

우리는 우리 가게에서 지속적 배포를 도입하고 있습니다 (코드를 체크인하면 라이브 사이트에 배포됩니다!). Hudson과 씨름해야하는 비용이 너무 많이 듭니다.

우리는 순전히 Hudson의 버그 비용 때문에 TeamCity 로의 마이그레이션을 적극적으로 검토하고 있습니다.


8
사용 가능한 업데이트가 있다고해서 업그레이드해야한다는 의미는 아닙니다. 나는 오히려 그들이 덜 자주 풀어주는 것보다 더 많이 풀어줬으면한다. 업그레이드시기는 제가 선택하는 사항이며, 매주 업그레이드하지는 않습니다. 또한 관리자는 이전 버전과의 호환성에 대해 매우 보수적입니다. 플러그인은 일반적으로 작동하기 위해 최신 Hudson이 필요하지 않습니다. 실제로 현재 사용 가능한 130 개의 플러그인이 1 년 이상 된 Hudson 버전에 대해 빌드되었습니다. 여전히 걱정된다면 자동 롤백 플러그인이 작동 중입니다 ..;)
Christopher Orr

1
내 경험상 Hudson 자체보다 플러그인에 문제가 더 많지만 사용자 관점에서 큰 차이는 없습니다. 그러나, 아무것도 힘 당신은 당신이 새로운 기능 없이는 살 수없는 특정 버그에 직면하거나하지 않는 한 업그레이드합니다. 우리는 단순히 각 릴리스를 따르지 않으며 궁극적 인 버전을 사용하지 않는 것은 우리에게 전혀 문제가되지 않습니다. "고장되지 않았다면 고치지 마십시오" .
Pascal Thivent

2
주 커미터가 주요 보안 결함이 수정되었다는 메시지를 보내면 업데이트해야합니다. 내 요점은 여전히 ​​유효합니다. Hudson은 추가 플러그인이 설치되지 않은 경우에도 너무 약합니다.
jdtangney

1
한 프로젝트에서 Hudson / Jenkins를 사용한 지 1 년 반이 지나면 훌륭한 도구이지만 릴리스간에 일관성이없는 품질을 경험했으며 꼭 필요한 경우에만 업그레이드했습니다. 빈번한 구성 백업을 포함한 해결 방법을 찾았습니다. 내 최신 프로젝트에서 TeamCity를 사용해보고 싶습니다.
JaysonRaymond 2011

4
업데이트와 안정성이 반대 요인이되는 이유는 무엇입니까? 그것은 단지 품질의 부족을 지적하지 않습니까?
Niall Connaughton 2012 년

6

Teamcity를 정말 좋아했지만 작업중인 환경에서 관리 계층을 통해 Teamcity에 대한 구매 주문을받는 데 걸리는 시간이 모든 것을 Hudson으로 마이그레이션하는 데 걸린 시간을 초과했을 가능성이 큽니다.


10
TeamCity 전문가는 무료입니다.
Pavel Sher

6
@Pavel, 20 명 이상의 사용자와 그보다 더 많은 빌드가 있습니다.
sal

22
@sal 회사가 개발 팀의 도구에 대해 수천 달러 이상을 그렇게 염려하고 도구를 사용하지 않았을 수있는 통합 된 시간을 수백 시간 낭비하도록 만드는 것은 항상 저를 놀라게합니다.
Chris Marisic 2009

5
@Chris 그들이 어떻게 작동하는지보기 위해 오픈 소스 무료 도구로 시작하고 2 년 후에도 문제없이 작동한다는 것을 깨닫는다면 어떨까요? 여전히 똑같은 일을하는 상용 도구로 업그레이드하는 데 몇 천 달러를 지출하라고 제안 하시겠습니까?
stefanB 2010

1
@stefan 도구를 2 년 동안 사용해 왔는데 다른 도구에서 필요한 featureX가없는 한 필요에 맞으면 다른 도구로 무료 또는 유료로 전환하는 이유는 무엇입니까?
Chris Marisic

2

TeamCity와 Jenkins (일명 새로운 Hudson)를 사용하고 설정 한 적이 있지만 TeamCity가 설정하기에 훨씬 매끄럽다는 데 동의하지만 사용자가 10 명 이하인 팀에게만 무료입니다. 두 시스템 모두 설정이 매우 쉽고 잘 지원되는 플러그인 시스템이 있습니다. TeamCity의 킬러 기능은 코드를 소스 제어에 체크인하기 전에 테스트 할 수있는 사전 체크인 워크 플로이며 Jenkins의 장점은 10 명의 사용자 이상으로 성장하고 에이전트를 구축하더라도 완전히 무료라는 것입니다.


또한 Jenkins의 그래프보기가 마음에 들었습니다. 이것이 Teamcity에서 누락 된 부분입니다. 또한 귀하의 의견에 동의합니다!
Danny Gloudemans 2012

당신이 의견에 동의 경우 : 그것을 투표
runxc1 브렛 페리 어에게

1

저는 허드슨이 실험 할 준비가되어 있고 그것이 우리의 현재 환경에 어떻게 적합한 지 보는 데 익숙해지기 시작했습니다. Teamcity에 대한 경험이 전혀 없어서 그것에 대해 언급 할 수는 없지만 지금까지 Hudson과 함께 일하는 것을 즐기고 있습니다.

hudson을위한 많은 플러그인이 있으며, hudson 사이트는 자신 만의 글을 작성하기위한 많은 조언을 제공합니다 ( http://wiki.hudson-ci.org/display/HUDSON/Extend+Hudson ).


1

나는 고객에게 Bamboo를 고려하도록 권장했습니다. 그 이유는 (예, 사양 시트를 읽은 후!) TeamCity와 매우 유사한 기능 세트를 가지고 있기 때문입니다. 그러나 주요 이점은 기능 / 버그 추적 시스템으로 널리 사용되는 JIRA와의 매우 긴밀한 통합입니다. 완전한 제품군은 JIRA, Greenhopper, Bamboo 및 Eclipse입니다. 상당수의 클라이언트에도 HP Quality Center가 있으며이를 JIRA에 결합하는 플러그인도 있습니다. 또한 JIRA, Bamboo 및 GreenHopper가 모두 Atlassian에서 제공된다는 사실이 마음에 듭니다.


TeamCity를 광범위하게 사용한 후 Jenkins는 매우 베어 메탈처럼 보입니다. 예 플러그인을 사용하면 일단 설치하면 무엇이든 할 수 있습니다. TeamCity에는 즉시 사용할 수있는 성숙한 기능 세트가 있습니다. 그러나 지속적 배포 수준에서는 둘 다 적절한 스테이징 파이프 라인이 구현되지 않은 상태로 둡니다. QuickBuild는 주목할 가치가있는 훨씬 더 많은 기능이있는 제품이며 유료입니다.
bbaassssiiee

이제 클라이언트 사이트에서 Bamboo가 작동하는 것을 보았으므로 더 이상 그것에 관심이 없습니다. 스크립팅 및 빌드간에 정보를 전송하는 데 어려움을 겪는 몇 가지 영역이 있습니다. 결과는 개발자가 CI의 전역 변수 영역에 있으면 안되는 모든 종류의 항목을 배치하는 경향이 있습니다.
drekka 2014-01-22
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.