지속적 통합 서버
우리 회사는 지속적인 통합 서버 변경을 고려하고 있습니다. 최고의 사용자 경험, 유지 관리 난이도 등 ...
우리의 코드는 모두 자바로되어 있으며 ANT를 빌드 도구로 사용합니다.
저는 최근에 Hudson 서버를 구현했습니다 . 이전에 Cruise Control을 사용해 본 경험이있는 저는 Hudson에 매우 만족하고 설치 및 사용의 용이성에 깊은 인상을 받았습니다. 새로운 프로젝트를 추가하는 것은 Cruise Control보다 훨씬 쉽습니다.
편집 : 우리는 지금 Hudson을 사용합니다.
얼마 전에 나는 다음과 같은 요구 사항을 가진 이들을 조사했습니다.
- 자바 코드
- Ant 빌드
- 그루비 빌드
- 분산 빌드
- SCM 트리거 통합
- http 보고서
- smtp 보고서
지속적인 통합 기능 매트릭스 시작하기에 좋은 장소입니다.
결국 AnthillPro 를 선택 하고 성공적으로 사용하고 있습니다. 우리가 할 수있는 일의 표면을 긁어 모으고 사용하고자합니다.
Jetbrains TeamCity 는 우리가봤을 때 정말 좋아 보였습니다. Java 기반이므로 팀원이 쉽게 확장 할 수 있고 분산 빌드 등을 수행 할 수 있습니다. 평가할 수있는 무료 버전이 있습니다.
나는 이것도 조사해 왔고 처음에는 CruiseControl을 보았지만 Hudson에 대해 좋은 소식을 듣고 시도해보기로 결정했습니다. 시작 (다운로드하고 실행하기 만하면 됨)이 얼마나 쉬운 지에 완전히 놀랐고 구성은 GUI를 통해 이루어 지므로 XML 구성 파일을 다루지 않아도됩니다.
몇 분 안에 첫 번째 Ant 빌드를 수행했습니다. 이제 사무실과 VPN을 통해 연중 무휴 24 시간 사용할 수있는 서버에서 Windows 서비스로 실행됩니다. 업그레이드는 새 war 파일을 다운로드하고 다시 시작하는 것만 큼 간단합니다.
junit 보고서에 대한 지원은 즉시 제공됩니다. 추가 플러그인 설치도 매우 쉬우 며 Trac, Cobertura, FindBugs 및 PMD 용 플러그인을 추가했습니다. 트렌드 그래프가 상승하는 것을 보는 것이 매우 만족 스럽기 때문에 코드 및 테스트 품질이 향상되고 있습니다!
이제 테스트 및 프로덕션 환경을위한 모든 빌드를 관리하는 데 사용합니다. 여러 웹 애플리케이션을 관리하기 때문에 실제 프로그래밍에 더 많은 시간을 할애 할 수 있습니다. 솔직히 그것 없이는 어떻게 관리했는지 기억할 수 없습니다.
Atlassian의 Bamboo 는 멋져 보이지만 경험이 없습니다. Cruise 또는 TeamCity 와 기능이 비슷해 보입니다 .
다른 사람들처럼 저는 Hudson을 정말 좋아 합니다.
설치 (배포 할 war 파일), 구성 및 사용이 매우 쉽습니다. 또한 다른 시스템에서 항상 사용할 수없는 많은 기능을 제공합니다 (빌드 매트릭스, 마스터 및 슬레이브, 서버 또는 프로젝트 수준의 보안 ...).
현재 기존 플러그인의 수 는 매우 중요하며 자체 플러그인을 만드는 것은 그리 어렵지 않습니다.
끝내기 위해이 응용 프로그램은 정말 빠르게 발전합니다. 현재 257 번째 릴리스에 있으며 1 년 이후로 100 개 이상의 릴리스를 만들었습니다!
프랑스 사람들을 위해 여기에 허드슨을 사용하기위한 완전한 가이드를 썼습니다 .
Atlassian 직원 소프트웨어 (예 : Jira, Clover 등)를 사용하는 경우 Bamboo가 적합합니다.
몇 달 동안 사용하고 추천 할 수 있습니다. 그만한 가치가 있습니다.
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
대나무는 훌륭하게 작동합니다. 현금이 있다면 그것을 권하고 싶습니다. Cruise Control은 그만한 가치가 있습니다. 소스 변경 및 빌드를 안정적으로 발견 할 수 없었으며 수동으로 빌드 할 수도 없었습니다. 인터페이스와 구성은 매우 복잡합니다.
우리는 Cruise Control을 사용 합니다 . 우리가 원하는 모든 기능을 갖추고 있으며 설정이 매우 쉬웠습니다. ANT 및 SVN과의 통합은 괜찮습니다.
단점 : 야간 빌드에 대한 메시지 전송을 중지하므로 때때로 프로세스 또는 머신을 다시 시작해야합니다. 그게 뭔지 잘 모르겠지만 그냥 성가시다.
자바 세계와 마찬가지로 오픈 소스 세계와 상업 세계가 있습니다.
우리는 이미 다양한 제품에 대해 꽤 좋은 보도를 보았습니다.
Hudson : 이만큼 쉽게 평가할 수있는 다른 자바 서버가 하나도 있는지 모르겠습니다. java -jar hudson.war-그것보다 얼마나 쉽게 얻을 수 있습니까? Windows에서만 사용할 수있을뿐만 아니라 모든 일반적인 Java 플랫폼에서 사용할 수 있습니다. Ant, Maven 및 기타 여러 빌드 플랫폼이 지원됩니다.
Hudson의 가장 좋은 점은 플러그인 기능입니다. 거의 지속적으로 개발되고 있습니다. 기능을 요청하면 완료되는 데 오래 걸리지 않습니다.
나는 보통 팬보이처럼 들리는 것을 좋아하지 않지만,이 앱 / 개발자 / 커뮤니티는 확실히 나를 감동시킵니다.
BR,
~ A
지속적인 통합 기능 매트릭스 에 대한 한마디 : CruiseControl 사람들이 수집 한 것이 아니라 DamageControl 프로젝트에 의해 CodeHaus 에서 시작되었으며 DamageControl 이 최대 절전 모드로 전환되었을 때 CruiseControl 위키로 이동했습니다. 정보는 주로 프로젝트 / 제품 소유자 또는 팬이 관리합니다.
나는 대나무에 만족 합니다. 나는 그것에 정착하기 전에 많은 무료 솔루션을 살펴 보았습니다.
Luntbuild를 처음으로 언급 할 것 같습니다 . 덜 눈에 띄는 이름을 제외하고는 훌륭한 CI 서버입니다.
- 설정이 매우 쉽습니다.
- 프로젝트 및 사용자 생성 / 관리를위한 웹 UI
- 많은 버전 관리 시스템 지원 (CVS, SVN 및 StarTeam과 함께 사용)
- 매우 매끄러운 원격 API
- 액세스 제어를위한 상대적으로 높은 세분성 (따라서 클라이언트의 빌드가 아닌 자신의 빌드에만 클라이언트 액세스 권한을 부여 할 수 있음)
- 그리고 훨씬 더.
라이브 데모를 확인하십시오 . 계정 / 비밀번호 데모 / 데모
참고 : 라이브 데모는 몇 번의 릴리스입니다.
We've used Cruise Control with decent results. We have since started using Maven for the build tool in all our projects. With that came the move to Hudson for CI which is very nice. If you think a move to Maven might be in your future, I'd recommend it. I think Hudson can even be used to call Ant tasks though a Maven wrapper might be in order.
Thoughtworks Cruise is the commercial offspring of the CruiseControl open source project. Looks very nice, lots of features, distributed builds etc. I don't know what it's extendability is.
An org I run (openqa.org) has, at one time or another, used just about all of them. In terms of easy setup, go with TeamCity or Bamboo. But in terms of overall reliability, you might want to look at Hudson. I really like JetBrains, but we found TeamCity to get in to weird states after a while, causing our builds to be very unreliable. Too bad, since I love IDEA!
We've been using Automated Build Studio and have been pretty happy with it. It's a windows app, so you're stuck on a windows build server, but on the plus side it's super easy to set up, maintain and use. You build your process from components via point and click, and can use scripting if none of the components meet your needs.
Of the few that I've used, Buildbot stands out as the most powerful and flexible. It's not the prettiest, though, if that matters to you.
I've administered both Bamboo and Hudson, and I would recommend Hudson.
They are both great, but Hudson has better report support, for instance publishing your coverage reports etc. is so much easier inside Hudson.
This is likely to change in the near future, but despite Bamboo's integration w/ JIRA etc. and it's statistics, Hudson, for ease of use and third-party support, is better regardless of dollar amount (it is free, Bamboo is not).
We use Hudson too and if it wasn't the recession, we would probably use Bamboo and most of the Atlassian products(Bamboo, Crucible, Confluence) together with JIRA.
I use Continuum for my continuous integration server. No reason other than I was going to hire a development manager who had used at his last assignment so it seemed to make sense to pick something at least one of us was experienced with.
Prior to picking Continuum I had a junior developer spend two weeks trying to get CruiseControl going. However, we got Continuum 1.0 to run first go.
We are using Zutubi Pulse and it works great for us. It's very easy to use ant has many advanced features.
We use StarTeam and between Hudson and CruiseControl.NET,CC.NET has some bugs when integrating with StarTeam. It does not seem to recognize the workspace that we define in the config files.
Last year on the a conference in the USA i first heard about Cruise Control .net on a 1 hour presentation, on my way home in the plain i decided to implement a small POC for our company and succcesfuly done it in less than 5 hours (including all the learning i could have done).
I am using it since than and i must say that i am very pleased with the results, and ease of operation, There are some drawback (E.g. lack of distribution of task across servers scale although you can monitor several servers) i found a a bug in one of the implementation and because it is an open source i could have fixed it very quickly (big advantage) - i created a little [project][1] in codeplex to contain my fixes before i contribute them to the community as a check in. I highly encourage you to look at this platform, also it would be nice if you can say what you actually need.
[1]: http://www.codeplex.com/DavidovitzCCE project
Check out our Parabuild. Compared to free tools, it is very easy to set up and its maintenance overhead is close to zero. it's not free but you get what you pay for.
Why don't you use a hosted CI service then you don't have to worry about maintenance, costs etc.
MikeCI is a hosted CI service which hosts your builds in the Amazon EC2 and for just $10 per month is a hell of a lot cheaper than maintaining your own CI server.
Give it a go.
Consider a free hosted CI service at fazend.com. It supports ant
.
CruiseControl.NET is much more effective on Windows boxes then the original Java based one. Especially when dedicated build server is not available yet.
You may want to look at it also
http://www.thoughtworks-studios.com/solutions/deployment-management 링크 텍스트
ThoughtWorks Deployment Management Solution은 Twist (Agile 테스트)의 힘과 Go (릴리스 관리)를 결합합니다.
- Twist는 비즈니스 사용자로부터 직접 테스트 할 요구 사항을 캡처 한
다음 애플리케이션과 함께 발전하는 장기 테스트로 자동화를 지원합니다. - Go는 개발 및 IT 운영 팀이 릴리스
프로세스를 모델링 하고 소프트웨어를
반복적이고 안정적으로 배포 하는 데 도움이됩니다 .
참고 URL : https://stackoverflow.com/questions/140453/continuous-integration-servers
'Program Tip' 카테고리의 다른 글
AsyncTask for ProgressDialog 내에서 Looper.prepare ()를 호출하지 않은 스레드 내부에 핸들러를 만들 수 없습니다. (0) | 2020.10.11 |
---|---|
Oracle 11g에서 + 기호를 사용하여 왼쪽 외부 조인 (0) | 2020.10.11 |
ANSI C에 네임 스페이스가없는 이유는 무엇입니까? (0) | 2020.10.11 |
Log4J에서 임계 값은 무엇을 의미합니까? (0) | 2020.10.11 |
연관성과 종속성의 차이점은 무엇입니까? (0) | 2020.10.11 |