2008-09-10 3 views
7

OK, 매일 빌드가 프로젝트의 심장 박동이라는 것을 알고 있지만, 자동화하는 유일한 방법은 무엇일까요?일일 빌드 자동화의 가장 좋은 방법

ClearCase, VS2005 (C++), Intel FORTRAN, Inno 설치를 포함하는 우리의 파이프 라인을 래핑하는 perl 스크립트가 있습니다. UNIX에서 cron 작업을 사용하여 빌드를 예약하고 간단한 Apache 웹 서버를 호스트하여 빌드를보고 모니터링합니다. 모든 점에서 다소 복잡한 점은 사람들이 사용하는 선반 솔루션이 무엇인지 잘 알고 싶습니다.

그리고 저는 FORTRAN이 때로는 그것을 피할 수 없다고 말 했었습니다. 작동하고 테스트 한 FEA 코드에 대해 거대한 재 구현 프로젝트를 수행하지 않았습니다.

답변

3

우리는 CC.Net을 구현하는 중입니다. 지금까지는 모델에 꽤 잘 맞을 것 같습니다.

즉시 사용 가능한 자동 빌드, 결과 추적 및 알림을 제공합니다. 나는 build-in-progress 모니터링이 얼마나 상세한 것인지 잘 모르겠습니다.

+0

저는 CC.NET으로 작업 해 왔습니다. 개발자가 ClearCase 플러그인에서 단 하나의 VOB (소스 데이터베이스) 만 사용한다고 많은 소스 편집 작업을해야했습니다. – titanae

2

우리는 TeamCity을 사용합니다. 그러나 간단한 C#/Java 개발을 사용합니다. 아마도 여러분의 파이프 라인은 구동 할 수있는 스크립트를 통해 수행 할 수 있습니까?

5

내가 들었던 새로운 것은 꽤 매끄러운 것입니다. hudson - MSBuild 지원도 있습니다.

+0

우리는 C 개발 환경에서이 프로그램을 사용하는데 정말 편리합니다. 설명 된 상황과 허드슨에 대해 말할 수는 없지만 "배치 빌드"를 제공하므로 빌드 프로세스에서 명령을 실행할 수 있습니다. – Gregor

3

는 특히이 문제를 처리하는 많은 도구가 있습니다

도구는 가장 일반적인 빌드 유형에 대한 기본 지원합니다. 그들은 모두 "스크립트 실행"유형의 빌드 프로세스를 지원합니다.

마지막으로 사용자 정의 스크립트로 odder 도구의 간격을 채울 수있는 멋진 빌드 도구 (MSBuild, Ant, Maven, Make ...)를 사용해야합니다. 자동화 된 빌드는 올바른 순서로 이들을 호출 할 수 있습니다.

1

CC.NET은 매우 강력합니다. 그것을 사용하고 그것에 대해 정말 행복했습니다. 심지어 시스템 트레이에있는 상태 아이콘. 작은 세부 사항이지만 프로젝트의 "건강"에 대한 좋은 개요를 제공합니다. 빨간색으로 보았을 때 즉시 테스트를 고칠 동기가 있습니다.

이제는 자체 구운 일련의 스크립트를 사용합니다. 우리는 파이썬을 작성하기 때문에 컴파일은 존재하지 않으므로 유일한 문제는 테스트를 실행하는 것입니다.

0

나는이 정말 오래된 질문 알지만, 여전히 검색에오고. Jenkins wiki에서

:

것들 중에서는, 현재 젠킨스는 다음과 같은 두 가지 작업에 초점을 맞추고 : 그냥 CruiseControl을 또는 DamageControl 같은

  • 건축/테스트 소프트웨어 프로젝트를 지속적으로. 요컨대 Jenkins는 사용하기 쉬운 소위 연속 통합 시스템을 제공하므로 개발자가 변경 사항을 프로젝트에 쉽게 통합하고 사용자가 새로운 빌드를보다 쉽게 ​​얻을 수 있도록합니다. 자동화 된 연속 빌드는 생산성을 향상시킵니다.
  • 원격 컴퓨터에서 실행되는 경우조차도 cron 작업 및 procmail 작업과 같이 외부에서 실행되는 작업의 실행을 모니터링합니다. 예를 들어, cron을 사용하면 출력물을 포착하는 일반 전자 메일 만 수신하게되며, 부지런히 살펴보고 파손될 때 통지해야합니다. 젠킨스 (Jenkins)는 이러한 결과물을 유지하고 문제가 발생할 때 쉽게 알아 차릴 수 있도록합니다.

은 원래 마음에 자바로 만들어진, 그래서 다른 자바 도구를 많이 잘 통합,하지만 당신은 OP에서 언급 한 모든 사람들을 포함한 모든 언어로 사용할 수 있습니다.