대나무 대. Hudson (일명 Jenkins) 대 다른 CI 시스템 [닫힘]


119

누구든지 Hudson과 Bamboo에 대한 경험이 있습니까? 이 제품의 상대적인 강점과 약점에 대해 생각하십니까?

좋아요, 사람들이 다른 CI 제품에 대해 계속 언급하기 때문에 더 자세히 설명하겠습니다. 내 일반적인 문제는 다음과 같습니다. 새 프로젝트를 위해 CI 시스템을 설정하고 싶습니다. 이 프로젝트에는 Java 구성 요소 (WAR 및 JAR), 일부 Python 모듈 및 .NET 구성 요소가있을 수 있습니다. 따라서 다음을 수행 할 수있는 CI 서버를 원합니다.

  1. 다국어 처리,
  2. 서버에 아티팩트 배포 (즉, 모든 단위 테스트가 통과하면 전쟁을 배포합니다.)
  3. 또한 괜찮은 코드 커버리지 도구와 통합 된 것을 원합니다.
  4. 보기 좋은 보고서는 좋지만 필수는 아닙니다.
  5. 일이 잘못되었을 때 여러 알림 메커니즘.
  6. 호스팅에 대해 걱정하지 않습니다. 로컬 서버 또는 Amazon 인스턴스에서 실행하겠습니다.
  7. 또한 이것은 하늘의 파이 일 수도 있지만 iPhone 앱도 만들 수있는 것이 있습니까?

2
물을 더 많이 흘리기 위해 Team City를 고려해 보셨습니까? 무료 버전 (사용자 수에 의해 제한됨) 버전이 있습니다. 나는 과거에 그것을 사용했고 그것이 제공하는 정보를 정말 좋아합니다.
Shane Courtrille 2011 년


2
계속 물을 뒤흔들 자 :) integrityapp.com Heroku에 배포 할 수 있으므로 CI 서버를 무료로 사용할 수 있습니다.
Nerian 2011 년

TeamCity를 보지 못했습니다. 그리고 오라클이 허드슨을 젠킨스로 만들도록 강요했다는 사실도 몰랐습니다. 이것을 반영하도록 질문을 편집하겠습니다.
Karthik Ramachandran 2011 년

2
여기에 대한 스레드가 있습니다 : forums.atlassian.com/message.jspa?messageID=257292121
sal

답변:


50

면책 조항 : 저는 Bamboo에서 작업하므로 다른 CI 제품에 대한 경험이 제한되어 있으므로 다른 CI 제품의 기능에 대해서는 언급하지 않겠습니다.

특정 요구 사항에 답하려면 :

여러 언어 처리

Bamboo는 여러 언어를 즉시 지원합니다. 고객은이를 Java, .Net, PHP, JavaScript 등과 함께 사용합니다. 즉, 대부분의 빌드 서버는 최소한 빌드 프로세스를 시작할 수있는 스크립트를 실행할 수있을만큼 일반적입니다.

서버에 아티팩트 배포 (즉, 모든 단위 테스트가 통과하면 전쟁을 배포합니다.)

Bamboo 2.7은 빌드 단계를 지원하므로 빌드를 단위 테스트 단계와 배포 단계로 나눌 수 있습니다. 유닛 테스트 단계가 성공한 경우에만 빌드가 배포 단계로 이동합니다. Bamboo 3.0 에서는 스테이지 간 아티팩트 공유를 지원하여 첫 번째 스테이지에서 아티팩트 (예 : 전쟁)를 생성하고 테스트 및 배포를 위해 다음 단계에서이 아티팩트를 사용할 수 있습니다.

또한 괜찮은 코드 커버리지 도구와 통합 된 것을 원합니다.

Bamboo는 Clover 를 지원 하며 Cobertura에 사용할 수있는 플러그인도 제공합니다 .

보기 좋은 보고서는 좋지만 필수는 아닙니다.

Bamboo에는 훌륭하지만 필수는 아닌 보고서 가 많이 있습니다. :)

일이 잘못되었을 때 여러 알림 메커니즘.

Bamboo는 이메일, RSS, IM, IDE 플러그인 또는 전체 팀이 볼 수있는 멋진 월 보드를 통해 알려줄 수 있습니다.

호스팅에 대해 걱정하지 않습니다. 로컬 서버 또는 Amazon 인스턴스에서 실행하겠습니다.

경험상 일반적으로 자체 CI 서버를 호스팅하는 것이 더 저렴합니다. 하지만 확장이 필요한 경우 Bamboo를 사용하면 빌드 를 추가 로컬 에이전트에 쉽게 배포 하거나 Elastic 에이전트를 통해 Amazon으로 확장 할 수 있습니다.

또한 이것은 하늘의 파이 일 수도 있지만 iPhone 앱을 만들 수도있는 것이 있습니까?

첫 번째 질문에 대한 답변과 유사하게 대부분의 CI 서버는 몇 가지 방식으로 iPhone 앱을 빌드 할 수 있습니다. 그래도 조금 더 스크립팅이 필요할 수 있습니다.

가격 : Bamboo는 무료 (무료 스타터 라이선스 제외) / libre / 오픈 소스가 아니지만 상용 라이선스를 구입하고 완전한 지원을 받으면 Bamboo의 소스 코드를 받게됩니다. CI 서버에 필요한 컴퓨팅 성능 및 잠재적 인 유지 관리 비용에 비해 Bamboo 라이센스 비용은 다소 적습니다.

도움이 되었기를 바랍니다.


15
Bamboo의 가격 구조는 결함이 있습니다. 병렬 빌드를 사용하는 사용자와 크로스 플랫폼 테스트를 위해 원격 에이전트가 필요한 사용자를 구분하지 않습니다. Windows, Linux 및 Mac 용 소형 빌드 서버 (각 버전이 다를 수도 있음)를 실행하려고하면 가격이 1 년에 수천 달러로 빠르게 올라갑니다. 더 나은 접근 방식은 동시 빌드에 대해 요금을 부과하는 것입니다.
Gili

젠킨스에 대한 Bamboo의 큰 특징은 팀의 개발자 간 드리프트를 방지하기 위해 분기를 자동으로 병합하는 것입니다. 그러나 슬프게도 그들은 GIT와 Mercurial에 대해서만 이것을 지원하므로 SVN 또는 다른 것을 사용하는 사람은 작동하지 않습니다. 하지만 Jenkins에는 SVN Merge 플러그인이 있습니다.
george_h dec

1
@george_h Jenkins 용 GIT 플러그인 은 이제 분기 자동 병합을 지원합니다. 이것이 언제 구현되었는지 잘 모르겠습니다.
slu

1
훌륭합니다. 나는 실제로 대나무와 젠킨스를 모두 사용했고 젠킨스가 훨씬 더 좋았습니다. 결국 Ant + Maven을 실행하는 서버입니다.
george_h 2014 년

40

나는 Bamboo를 사용하지 않았지만 Hudson, Cruise 및 TFS를 사용했으며 그중에서 Hudson이 최고였습니다. 설정하기가 엄청나게 쉽고 프로젝트 구성을위한 정말 멋진 웹 GUI를 가지고 있습니다. Hudson의 장점은 누군가가 플러그인을 작성했다고 가정 할 때 원하는 언어와 기능을 거의 모두 지원한다는 것입니다.

http://wiki.hudson-ci.org/display/HUDSON/Plugins

우리는이를 사용하여 시간 간격으로 .NET, Java 및 C ++ 빌드를 실행하고 자동화 된 테스트 도구를 사용하는 SVN 체크인을 실행했습니다. 내가 마지막으로 일했던 곳은 내가 떠나기 직전에 iPhone 개발을 시작했고 나는 그들도 Hudson을 사용하고 있다고 생각합니다.

게다가 무료입니다!


35

매우 피상적 ​​인 수준에서 Bamboo vs Hudson은 다음과 같이 내려갑니다.

  • 대나무 : 사용하기 쉽고보기 좋습니다.
  • Jenkins : 가장자리가 거칠지 만 Bamboo보다 훨씬 유연합니다.

Bamboo와 Jenkins에는 모두 많은 버그 있지만 (문제가 발생할 수 있음) 적어도 Jenkins를 사용하면 해결 될 때까지 해결 방법이있을 가능성이 훨씬 더 높습니다. Bamboo를 사용하면 업데이트를 기다리는 중입니다.


나는 Bamboo와 함께 적어도 그것에 대한 상업적 지원이 있다고 생각했을 것입니다.
keiki

3
@keiki, 예 및 아니오. 예, 상업적 지원을 받지만 비용이 많이 듭니다 (비용 / 혜택이 합리적인지 자문해야합니다). 많은 문제가 누락 된 기능으로 인해 발생한다는 점은 주목할 가치가 있습니다. Atlassian은 귀하를 돕기 위해 최선을 다할 것이지만 결국에는 리소스가 제한되어 있으며 요청한 기능을 추가하는 데 몇 년이 걸릴 수 있습니다 (인기에 따라 다름).
Gili

1
유연성을 위해 +1. Bamboo는 작업이 처음부터 완료되지 않는 CI 도구의 경우도 마찬가지입니다. 게다가 Atlassian은 OSS 작업에 익숙한 방식으로 Bamboo 버그의 우선 순위를 지정 / 처리 할 수 ​​없었습니다.
Paddy

16

면책 조항 : 저는 Jenkins와 함께 일하고 있습니다.

우리 조직 (상당히 규모가 크고 개발자가 100 명 이상)에서는 다음 두 가지 기능도 매우 유용하다는 사실을 발견했습니다.

  1. 매트릭스 프로젝트 보안 전략이 포함 된 CAS 플러그인
  2. 파이프 라인 플러그인 빌드
  3. LTS 출시 일정.

질문에 대해 :

  1. 확인
  2. SCP PLUGIN 또는 SSH PLUGIN
  3. FINDBUGS, 정적 분석 수집기 플러그인, 정적 코드 분석 플러그인, 작업 스캐너 플러그인을 사용합니다.
  4. 이전 지점 3 + Jenkins DocLinks 플러그인
  5. 우리는 이메일 Jenkins 이메일 확장 플러그인을 사용하지만 rss, twitter publish, sms와 같은 다른 시스템도 지원합니다.
  6. 우리는 로컬로 Tomcat 호스팅에서 실행 중입니다.
  7. 예.

5

글쎄, 나는 지금까지 Bamboo를 사용하지 않았지만 한 가지 차이점은 Hudson이 자유 / 자유 / 오픈 소스 소프트웨어라는 것입니다.


10
비추천-이 대답은 사실이지만 사소합니다 (아마 두 제품을 모두 알고있는 사람은 이것을 알고있을 것입니다). OP는 기능 비교를 찾고 있습니다.
Jason S

1

비용을 지불 할 의향이있는 경우 Anthill 이보고있는 모든 작업을 수행합니다. 우리 회사에서 웹 팀을 위해 사용하고 있으며 매우 강력합니다.

여러 언어 처리

기본적으로 기존 스크립트를 자동화하고 어떤 언어로든 생성되는 아티팩트를 관리합니다.

서버에 아티팩트 배포 (즉, 모든 단위 테스트가 통과하면 전쟁을 배포합니다.)

빌드 프로세스의 한 단계로 배포를 추가 할 수 있습니다. 프로덕션에 직접 배포하고 싶은지 확실하지 않지만 경영진이 필요하다고 말하면 확실히 할 수 있습니다.

또한 괜찮은 코드 커버리지 도구와 통합 된 것을 원합니다.

Clover, Cobertura, Emma, ​​Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD 및 Sonar와 즉시 통합됩니다.

보기 좋은 보고서는 좋지만 필수는 아닙니다.

어떤 보고서를 사용할 수 있는지 잘 모르겠지만 보고서 탭이 있습니다 (여기에 들어 가지 않습니다 :-)).

일이 잘못되었을 때 여러 알림 메커니즘.

나는 그것이 이메일 (따라서 SMS)을 할 수 있고 몇 가지 IM 서비스와 통합된다는 것을 알고 있습니다.

호스팅에 대해 걱정하지 않습니다. 로컬 서버 또는 Amazon 인스턴스에서 실행하겠습니다.

배포 용 에이전트가 포함 된 이미지에서 클라우드 세션을 시작하는 데모를 보았습니다. 우리는 일반적인 Linux 상자에서 실행하지만 일부 사람들은 VMWare 서버에서 실행한다는 것을 알고 있습니다.

또한 이것은 하늘의 파이 일 수도 있지만 iPhone 앱을 만들 수도있는 것이 있습니까?

이것은 아마도 첫 번째에 속할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.