2012-08-30 4 views
4

대기중인 엔터프라이즈 서버에는 30 개의 에이전트에서 실행중인 550 개의 활성 빌드 구성이 있습니다. 다른 빌드가 실행되는 동안 일부 빌드가 실행되지 않도록하는 방법이 필요합니다. 이미 인공물 의존성을 이해하고 있으며 빌드가 서로 의존하지 않아서 서버 포트 번호와 데이터베이스 연결과 같은 리소스를 공유하기 때문에 문제가 해결되지 않습니다. 일부 빌드 구성은 동시에 실행될 때 서로 충돌하기 때문에 여러 빌드 중 하나가 실행 중일 때 빌드를 큐에 대기 (실행하는 대신)하는 방법으로이를 방지해야합니다.다른 빌드가 실행되는 동안 TeamCity 빌드를 실행하지 않고 대기열에 저장

우리는 이미 특정 에이전트에 빌드를 제한하는 것과 같은 멍청한 트릭을 사용합니다. db 테이블이나 다른 플래그에서 플래그를 확인하는 첫 번째 빌드 단계를 추가하는 방법에 대해 생각하고 있습니다. 그러나이 경우 많은 빌드가 실패합니다. 우리가 정말로 필요로하는 것은 적절한 빌드 큐잉입니다.

내가 누락 된 항목이 있습니까? 이 기능은 TeamCity에 이미 있습니까?

+0

직렬화해야하는 종속성은 실제 * 빌드 *에서 벗어난 것이므로 (일종의 배포 단계처럼 들릴 수도 있음), 외부 솔루션이 필요하다는 생각이 들게됩니다. 귀하의 빌드가 스스로를 실속시키고 제 3 자 리소스와 동기화 할 수 있습니까? 적절한 빌드 단계가 차단되는 자체 대기열 솔루션 (예 : 작은 웹 애플리케이션)을 만들 수 있습니까? 그런 식으로 실제 빌드 단계를 병렬로 진행할 수 있으며 직렬화해야하는 부분 만 직렬화됩니다. –

답변

0

550 구성과 30 개의 에이전트에 대한 내 큰 존경심.

나는 이미 해결책을 찾은 것 같아 :

  1. 특정 에이전트

내가이 일이 얼마나 상상할 수에 대한 에이전트 당 하나 개의 환경

  • 할당 구성 되세요. 그러나 나는 그것이 훨씬 더 깔끔하고 동시에 여러 구성을 실행하는 제한보다 훨씬 빨리 작동한다고 생각합니다.