지속적 통합 서버 [닫기]


78

우리 회사는 지속적인 통합 서버 변경을 고려하고 있습니다 (현재 어떤 서버를 보유하고 있는지 말하지 않겠습니다. 따라서 답변을 왜곡하지 않겠습니다. :)) 누구에게 권장 사항이 있는지 궁금합니다. 최고의 사용자 경험, 유지 관리 난이도 등 ...

우리의 코드는 모두 자바로되어 있으며 ANT를 빌드 도구로 사용합니다.

답변:


89

저는 최근에 Hudson 서버를 구현했습니다 . 이전에 Cruise Control을 사용해 본 경험이있는 저는 Hudson에 매우 만족하고 설정 및 사용의 용이성에 깊은 인상을 받았습니다. 새로운 프로젝트를 추가하는 것은 Cruise Control보다 훨씬 쉽습니다.


나는 Cruise Control을 사용하는 곳과 Hudson을 사용하는 다른 곳에서 일했으며 결코 Cruise Control로 돌아가고 싶지 않습니다. 또한 멋진 NetBeans 플러그인이 있으며 테스트 통합이 훌륭했습니다.
18Rabbit

1
완전히 동의합니다. 저는 CruiseControl 서버와 최근에 Hudson 서버를 모두 설치했으며 CruiseControl은 훨씬 더 많은 유지 관리가 필요했습니다. Hudson은 함께 작업하는 것이 정말 즐겁습니다. 또한이를위한 좋은 플러그인이 많이 있습니다 (예 : Cobertura, Emma, ​​FindBugs, CPD 등).
Tom De Leu

2
+ 허드슨. Cruisecontrol은 고통스럽고 Hudson은 친절합니다.
mfx

1
Hudson은 설치, 설정 및 유지 관리가 매우 쉽습니다. 개미 및 메이븐 빌드에 사용합니다.
jon077

9
누군가 그것을 놓친 경우 Hudson은 원래 개발자에 의해 Jenkins 로 분기되거나 이름이 변경되었습니다 . 이제와 오프 최고 젠킨스 로, 이 질문은 아마 당신을 설득 할 것이다.
Jonik

22

편집 : 우리는 지금 Hudson을 사용합니다.

얼마 전에 나는 다음과 같은 요구 사항을 가진 이들을 조사했습니다.

  • 자바 코드
  • Ant 빌드
  • 그루비 빌드
  • 분산 빌드
  • SCM 트리거 통합
  • http 보고서
  • smtp 보고서

지속적인 통합 기능 매트릭스 시작하기에 좋은 장소입니다.

결국 AnthillPro 를 선택 하고 성공적으로 사용하고 있습니다. 우리가 할 수있는 일의 표면을 긁어 모으고 사용하고자합니다.


공개 :이 매트릭스는 Cruise Control 직원이 작성했습니다.
Pablo Fernandez

CI 매트릭스 링크를 게시 해주셔서 감사합니다. 크루즈 / 크루즈 컨트롤 담당자에 의한 것이지만 훌륭한 리소스입니다.
Julie

실제로는 그렇지 않았습니다 : stackoverflow.com/questions/140453/…
Jeffrey Fredrick

1
매트릭스에 대한 링크는 +1입니다. 이 문제를 다시 검토해야 할 때마다 사용합니다.
Jared

우리는 Hudson을 사용한 다음 배포 지원 때문에 AHP로 전환했습니다. Hudson보다 확실히 더 복잡하지만 훨씬 더 유연하고 사용자 정의가 가능합니다.
Brian Kelly

19

Jetbrains TeamCity 는 우리가봤을 때 정말 좋아 보였습니다. Java 기반이므로 팀원이 쉽게 확장 할 수 있고 분산 빌드 등을 수행 할 수 있습니다. 평가할 수있는 무료 버전이 있습니다.


6
설명-Jetbrains TeamCity Professional은 최대 20 개의 빌드 구성에 대해 무료입니다. 시간 제한이 없으며 평가판이 아닙니다.
Bevan

12

나는 이것도 조사해 왔고 처음에는 CruiseControl을 보았지만 Hudson에 대해 좋은 소식을 듣고 시도해보기로 결정했습니다. 시작 (다운로드하고 실행하기 만하면 됨)이 얼마나 쉬운 지에 완전히 놀랐고 구성은 GUI를 통해 이루어 지므로 XML 구성 파일을 다루지 않아도됩니다.

몇 분 안에 첫 번째 Ant 빌드를 수행했습니다. 이제 사무실과 VPN을 통해 연중 무휴 24 시간 사용할 수있는 서버에서 Windows 서비스로 실행됩니다. 업그레이드는 새 war 파일을 다운로드하고 다시 시작하는 것만 큼 간단합니다.

junit 보고서에 대한 지원이 즉시 제공됩니다. 추가 플러그인 설치도 매우 쉬우 며 Trac, Cobertura, FindBugs 및 PMD 용 플러그인을 추가했습니다. 트렌드 그래프가 상승하는 것을 보는 것이 매우 만족 스럽기 때문에 코드 및 테스트 품질이 향상되고 있습니다!

이제 테스트 및 프로덕션 환경을위한 모든 빌드를 관리하는 데 사용합니다. 여러 웹 애플리케이션을 관리하기 때문에 실제 프로그래밍에 더 많은 시간을 할애 할 수 있습니다. 솔직히 그것 없이는 어떻게 관리했는지 기억할 수 없습니다.


7

Atlassian의 Bamboo 는 멋져 보이지만 경험이 없습니다. Cruise 또는 TeamCity 와 기능이 비슷해 보입니다 .


Bamboo는 나쁘지 않습니다 (첫 번째 CI 도구가 CruiseControl 인 경우 "너무 나쁘지 않은"것이 있다고 생각하지만 ...). 많은 수의 프로젝트 (예 : 200 개 이상)를 처리 할 수있는 능력은 거의 없지만 점점 더 좋아지고 있습니다.
Roman Starkov

5

여기 다른 사람들처럼 저는 Hudson을 정말 좋아합니다 합니다.

설치 (배포 할 war 파일), 구성 및 사용이 매우 쉽습니다. 또한 다른 시스템에서 항상 사용할 수없는 많은 기능을 제공합니다 (빌드 매트릭스, 마스터 및 슬레이브, 서버 또는 프로젝트 수준의 보안 ...).

기존 플러그인 수 는 매우 중요하며 자체 플러그인을 만드는 것은 그리 어렵지 않습니다.

끝내기 위해이 응용 프로그램은 정말 빠르게 발전합니다. 현재 우리는 257 번째 릴리스에 있으며 1 년 이후로 100 개 이상의 릴리스를 만들었습니다!

프랑스 사람들을 위해 여기에 허드슨을 사용하기위한 완전한 가이드를 썼습니다 .


5

Atlassian 직원 소프트웨어 (예 : Jira, Clover 등)를 사용하는 경우 Bamboo가 적합합니다.

몇 달 동안 사용하고 추천 할 수 있습니다. 그만한 가치가 있습니다.


Bamboo는 확실히 Atlassian 매장에서 우리를 위해 일합니다. 그러나 Maven 경로로 가면 Hudson에는 Bamboo가 아직 제공하지 않는 마법이 내장되어 있습니다 ( jira.atlassian.com/browse/BAM-230 ).
Brian Laframboise

우리는 아직 개미에 있습니다. 그래서 우리의 경우가 아닙니다. 우리가 대나무에서 만난 다른 문제 : 여전히 SVN 1.5와 100 % 호환되지 않습니다 (SASL 암호화와 함께 작동 할 수 없음).
FoxyBOA

5

Hudson에서 완전히 판매되지 않은 경우 한 번의 클릭으로 테스트 드라이브가 마음을 바꿀 것입니다.

아래를 클릭하십시오 :

https://hudson.dev.java.net/hudson.jnlp

그러면 테스트 드라이브를 위해 Java Web Start를 통해 Hudson이 시작됩니다. 시작되면 http : // localhost : 8080 /를 방문 하십시오. 을 하여 대시 보드로 이동합니다. 이 Hudson으로 수행하는 모든 구성은 ~ / .hudson에 저장되므로 데이터는 Hudson 프로세스를 다시 시작해도 유지됩니다.

svn 및 ant / maven과 같은 상당히 표준적인 도구를 사용하고 있다면 5 분 안에 빌드하고 실행해야합니다. 다른 도구와 20 분 정도 걸릴 수 있습니다!

여기에서 소개를 참조하십시오.

http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson


4

대나무는 훌륭하게 작동합니다. 현금이 있다면 그것을 권하고 싶습니다. Cruise Control은 그만한 가치가 있습니다. 소스 변경 및 빌드를 안정적으로 발견 할 수 없었고 수동으로 빌드 할 수도 없었습니다. 인터페이스와 구성은 매우 복잡합니다.


3

우리는 Cruise Control을 사용 합니다 . 우리가 원하는 모든 기능을 갖추고 있으며 설정이 매우 쉬웠습니다. ANT 및 SVN과의 통합은 괜찮습니다.

단점 : 야간 빌드에 대한 메시지 전송을 중지하므로 때때로 프로세스 또는 머신을 다시 시작해야합니다. 그게 뭔지 잘 모르겠지만 그냥 성가시다.


네, Cruise Control에서도 그런 경험을했습니다. 나는 허드슨으로 바꿨다. 여태까지는 그런대로 잘됐다.
Chinnery

나는 또한 CC에서 이런 종류의 불안정성을 보았습니다. 이것이 우리 회사가 Luntbuild로 전환 한 이유 중 하나입니다.
pkaeding jul

cmd 창에서 텍스트를 표시 (선택)하면 도구가 출력을 작성하는 것이 차단되고 중지 된 것처럼 보일 수있는 경우 CC와 Hudson 모두에서 발견했습니다.
Greg Domjan

3

자바 세계와 마찬가지로 오픈 소스 세계와 상업 세계가 있습니다.

우리는 이미 다양한 제품에 대해 꽤 좋은 보도를 보았습니다.

Hudson : 이만큼 쉽게 평가할 수있는 다른 자바 서버 제품은 하나도 없습니다. java -jar hudson.war-그것보다 얼마나 쉽게 얻을 수 있습니까? Windows에서만 사용할 수있을뿐만 아니라 모든 일반적인 Java 플랫폼에서 사용할 수 있습니다. Ant, Maven 및 기타 여러 빌드 플랫폼이 지원됩니다.

Hudson의 가장 좋은 점은 플러그인 기능입니다. 거의 지속적으로 개발되고 있습니다. 기능을 요청하면 완료되는 데 오래 걸리지 않습니다.

나는 보통 팬보이처럼 들리는 것을 좋아하지 않지만,이 앱 / 개발자 / 커뮤니티는 확실히 나를 감동시킵니다.

BR,
~ A




2

Luntbuild를 처음으로 언급 할 것 같습니다 . 덜 눈에 띄는 이름을 제외하고는 훌륭한 CI 서버입니다.

  • 설정이 매우 쉽습니다.
  • 프로젝트 및 사용자 생성 / 관리를위한 웹 UI
  • 많은 버전 제어 시스템 지원 (CVS, SVN 및 StarTeam과 함께 사용)
  • 매우 매끄러운 원격 API
  • 액세스 제어를위한 상대적으로 높은 세분성 (따라서 클라이언트의 빌드가 아닌 빌드에만 클라이언트 액세스 권한을 부여 할 수 있음)
  • 그리고 훨씬 더.

라이브 데모를 확인하십시오 . 계정 / 비밀번호 데모 / 데모

참고 : 라이브 데모는 몇 번의 릴리스입니다.


단점은 단위 테스트 지원이 없다는 것입니다. 여기를 참조하십시오 : stackoverflow.com/questions/672/… 동일한 문제가 발생하는지 궁금하십니까?
sivabudh 2009

나는 같은 문제를 겪지 않았습니다. 예를 들어 ANT는 단위 테스트를 실행할 수 있으며 ANT 작업이있는 많은 단위 테스트 구문 분석기를 사용할 수 있습니다. 그런 다음 Lunt는 Lunt 프로젝트 내에서 이러한 ANT 대상을 호출 할 수 있습니다. 하지만 결과 구문 분석을위한 OGNL 표현식이 복잡 할 수 있다는 데 동의합니다. 개인적으로 나는 그것에 대한 필요성을 거의 찾지 못했습니다.
Liggy

1

우리는 괜찮은 결과로 Cruise Control을 사용했습니다. 우리는 이후 모든 프로젝트에서 빌드 도구로 Maven을 사용하기 시작했습니다. 그것과 함께 CI를 위해 Hudson으로 이동했습니다. Maven으로의 이전이 미래에있을 것이라고 생각한다면 나는 그것을 추천합니다. Maven 래퍼가 순서대로있을 수 있지만 Hudson을 사용하여 Ant 작업을 호출 할 수도 있다고 생각합니다.

http://hudson-ci.org/


1

Thoughtworks CruiseCruiseControl 오픈 소스 프로젝트 의 상업적 자손입니다 . 매우 멋지고, 많은 기능, 분산 된 빌드 등으로 보입니다. 확장 성이 무엇인지 모르겠습니다.


1
이 제품은 Go로 이름이 변경되었으며 무료 커뮤니티 에디션과 상업용 에디션이 모두 있습니다. thoughtworks-studios.com/go-agile-release-management를 참조하십시오 . 나는 그것을 직접 사용한 적이 없습니다.
Andrew Swan

1

내가 운영하는 조직 (openqa.org)은 한 번 또는 다른 조직에서 거의 모든 것을 사용했습니다. 쉬운 설정 측면에서 TeamCity 또는 Bamboo를 사용하십시오. 그러나 전반적인 안정성 측면에서 Hudson을 살펴볼 수 있습니다. 저는 JetBrains를 정말 좋아하지만 TeamCity가 잠시 후 이상한 상태에 들어가서 빌드가 매우 불안정하다는 것을 알게되었습니다. 너무 나쁘다, 내가 IDEA를 좋아하기 때문에!


버전 3 이후로 TeamCity에 이상이 없었습니다.하지만 빌드가 너무 작을 수도 있습니다.
Steve McLeod

1

우리는 Automated Build Studio를 사용해 왔으며 매우 만족했습니다. Windows 앱이므로 Windows 빌드 서버에 갇혀 있지만 더하기는 설정, 유지 관리 및 사용이 매우 쉽습니다. 포인트 앤 클릭을 통해 구성 요소에서 프로세스를 빌드하고 요구 사항을 충족하는 구성 요소가없는 경우 스크립팅을 사용할 수 있습니다.


1

내가 사용한 몇 안되는 것 중에서 Buildbot 은 가장 강력하고 유연합니다. 그래도 그게 당신에게 중요하다면 가장 예쁘지는 않습니다.


1

저는 Bamboo와 Hudson을 모두 관리했으며 Hudson을 추천합니다.

둘 다 훌륭하지만 Hudson은 더 나은 보고서 지원을 제공합니다. 예를 들어 커버리지 보고서를 게시하는 것은 Hudson 내부에서 훨씬 쉽습니다.

이것은 가까운 장래에 바뀔 가능성이 있지만 Bamboo의 JIRA 등의 통합 및 통계에도 불구하고 Hudson은 사용 편의성과 타사 지원을 위해 달러 금액에 관계없이 더 좋습니다 (무료이며 Bamboo는 아닙니다) .


1

우리는 Hudson도 사용하며 불황이 아니라면 아마도 Bamboo와 대부분의 Atlassian 제품 (Bamboo, Crucible, Confluence)을 JIRA와 함께 사용할 것입니다.


그래서 당신은 허드슨보다 Bamboo를 더 낫다고 생각합니다. 이유를 설명해 주시겠습니까? (모든 사람이 동의하는 것은 아닙니다. stackoverflow.com/questions/140453/... )
Jonik

0

지속적 통합 서버에 Continuum 을 사용 합니다. 마지막 임무에서 사용했던 개발 관리자를 고용하려고했던 것 외에 다른 이유가 없었기 때문에 적어도 우리 중 한 명이 경험 한 것을 선택하는 것이 합리적이었습니다.

Continuum을 선택하기 전에 저는 Junior 개발자가 CruiseControl을 사용하기 위해 2 주를 보냈습니다. 그러나 Continuum 1.0을 먼저 실행했습니다.



0

우리는 StarTeam을 사용하고 Hudson과 CruiseControl.NET 사이에서 CC.NET은 StarTeam과 통합 할 때 몇 가지 버그가 있습니다. 구성 파일에서 정의한 작업 공간을 인식하지 못하는 것 같습니다.


0

작년에 미국에서 열린 컨퍼런스에서 저는 1 시간 프레젠테이션에서 Cruise Control .net에 대해 처음 들었습니다. 평야에서 집으로가는 길에 저는 우리 회사를 위해 작은 POC를 구현하기로 결정했고 5 시간 이내에 성공적으로 완료했습니다 ( 내가 할 수 있었던 모든 학습을 포함하여).

나는 그것을 사용하고 있기 때문에 나는 결과에 매우 만족하고 작동이 쉽다고 말해야합니다. 몇 가지 단점이 있습니다 (예 : 여러 서버를 모니터링 할 수 있지만 서버 규모에 대한 작업 배포 부족) 버그를 발견했습니다 구현 중 하나이며 오픈 소스이기 때문에 매우 빠르게 수정할 수있었습니다 (큰 이점)-체크인으로 커뮤니티에 기여하기 전에 수정 사항을 포함하기 위해 codeplex에서 약간의 [project] [1]를 만들었습니다. .이 플랫폼을 보시길 강력히 권합니다. 또한 실제로 필요한 것을 말할 수 있다면 좋을 것입니다.

[1] : http://www.codeplex.com/DavidovitzCCE 프로젝트


0

Parabuild를 확인하십시오 . 무료 도구에 비해 설치가 매우 쉽고 유지 관리 오버 헤드가 거의 없습니다. 무료는 아니지만 지불 한만큼 얻을 수 있습니다.


0

호스팅 된 CI 서비스를 사용하면 유지 관리, 비용 등에 대해 걱정할 필요가 없습니다.

MikeCI는 Amazon EC2에서 빌드를 호스팅 하는 호스팅 CI 서비스 이며 월 10 달러로 자체 CI 서버를 유지하는 것보다 훨씬 저렴합니다.

시도해보세요.


이 경우 소프트웨어를 제 3 자에게 제공 할 것임을 고려하십시오. 그렇게하도록 허용되지 않을 수도 있습니다. 그리고 당신이 허락된다하더라도 그만한 가치가 있다면 괜찮은 모습을 보일 것입니다. 소프트웨어를 제 3 자에게 제공하는 것은 정말 나쁜 일이며 대부분의 경우이를 원하지 않습니다. 단지 몇 달러를 절약하기위한 것이 아닙니다. 오픈 소스가 아닌 경우 대부분의 경우 수천 달러의 비용이 드는 제 3 자에게 소프트웨어를 제공하고 싶지 않습니다.
Fabian Barney


0

CruiseControl.NET은 원래 Java 기반 제품보다 Windows 상자에서 훨씬 더 효과적입니다. 특히 전용 빌드 서버를 아직 사용할 수없는 경우.


무엇보다 훨씬 더 효과적입니까?
EFraim

그런 다음 원래 Java CruiseControl. 응답을 수정하겠습니다.
Oleg Zhylin 2010

0

당신은 또한 그것을보고 싶을 수 있습니다

http://www.thoughtworks-studios.com/solutions/deployment-management 링크 텍스트

ThoughtWorks Deployment Management Solution은 Twist (Agile 테스트)의 힘과 Go (릴리스 관리)를 결합합니다.

  • Twist는 비즈니스 사용자로부터 직접 테스트 할 요구 사항을 캡처 한
    다음 애플리케이션과 함께 발전하는 장기 테스트로 자동화를 지원합니다.
  • Go는 개발 및 IT 운영 팀이 릴리스
    프로세스를 모델링 하고 소프트웨어를
    반복적이고 안정적으로 배포 할 수 있도록 지원합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.