2014-07-15 4 views
0

최근에 Cruise Control .config 및 Nant .build 파일의 거대한 리팩토링을 수행했습니다. 모든 VM 빌드 머신을 단일 머신으로 통합하려고했습니다.여러 대의 VM을 통한 구성에서 균형 잡힌 크루즈 컨트롤 빌드 구현

각 프로젝트의 데이터가 들어있는 각 응용 프로그램마다 20 개의 위성 파일이있는 단일 .config 및 .build 파일로 끝났습니다. 이것은 잘 작동 한 것 같습니다. 그러나 필연적으로 성능이 문제가되었습니다.

크루즈 컨트롤 .config 파일을 해당 컴퓨터에 빌드 할 프로젝트의 하위 집합 만 포함하는 조각으로 분할하는 것이 가장 확실합니다. 그러나 이것은 조금 우울하고, 그들을 합병하는 모든 문제에 갔다.

저는 원하는대로 내 빌드 VM을 복제하고 해당 컴퓨터에서 빌드하고 싶지 않은 프로젝트를 "스위치 오프"할 수 있기를 바랍니다. 빌드 VM을 복제 할 때마다 .config 파일을 다시 작성할 필요없이이 작업을 수행 할 수 있습니까? 아니면 더 나은,이 어떻게 든 자동화 될 수 있습니까?

나는 Cruise Control 1.44와 Nant 0.85를 사용하고 있습니다.

답변

1

네, 그렇게 할 수 있습니다. 각 프로젝트에 대해 initialStateStopped으로 설정 한 다음 관련 서버에서 각 프로젝트를 선택적으로 시작하는 것이 좋습니다.

http://cruisecontrolnet.org/projects/ccnet/wiki/Project_Configuration_Block

그래서 당신은 어떻게 든 자신의 세대를 중앙 집중화하는 것이 좋습니다 경우 관련 라벨을 만들 수 있습니다.

+0

크루즈 컨트롤 프로젝트를 시작하거나 중지 할 수도 있다는 것을 알지 못했습니다. 나는 배울 것이 많다. 프로젝트를 중지하거나 시작하는 것을 자동화하는 방법이 있습니까? webservice를 통해? –

+0

프로젝트를 시작하라는 웹 요청은'http : //localhost/ccnet/server/local/project/$projectName/ViewProjectReport.aspx? StartBuild = Start'입니다. 방금 Powershell 스크립트를 사용하여 Cruise Control을 시작한 다음 WebClient를 인스턴스화하고 OpenRead() 메소드를 호출하여 개별 프로젝트를 시작합니다. –

+0

CruiseControl은 서버 시작시 프로젝트의 상태를 기억합니다. 일단 프로젝트의 확산이 설정되면 powershell 스크립트를 실행할 필요가 없습니다. –