카테고리 보관물: Java

Java

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

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

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

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


답변

면책 조항 : 저는 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 라이센스 비용은 다소 적습니다.

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


답변

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

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

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

게다가 무료입니다!


답변

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

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

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


답변

면책 조항 : 저는 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. 예.

답변

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


답변

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

여러 언어 처리

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

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

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

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

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

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

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

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

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

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

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

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

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


답변