2017-03-01 5 views
1

는 종속 .NET을위한 파이프 라인 구축 -> D지속적인 통합 :</p> <p>A -> B -> C :</p> <p>나는 다음과 같은 프로젝트가 있다고 가정 할 수 있습니다 : 나는 인 TeamCity의 V10를 사용하여 내 .NET의 핵심 솔루션의 빌드를 자동화하고

A-은> D

화살표

는 프로젝트 B 참조 프로젝트 A를 표시하고 복원 이전에 구축 할 필요가있다.

구성

프로젝트 D는 말에 게시 할있는 웹 응용 프로그램입니다

  • 그 일을 위해 내가 만든 팀 도시 프로젝트 (또한 C와 모두 필요)
  • 각 프로젝트에 대해 두 단계로 구성된 빌드 정의를 작성하고 복원
  • 복원 및 빌드 단계에서 spe의 project.json 파일을 지정하십시오 (예 : 프로젝트 B의 경우 "src \ B \ project.json"이됩니다.
  • 프로젝트 D에 추가 단계가 추가되었습니다. 프로젝트 D는 IIS에 게시되어야하므로 게시됩니다.

스냅 샷 종속성 변화가 다른 프로젝트가 깨질하지 않을 있는지 확인하기 위해 종속 프로젝트를 구축 트리거해야 참조하는 프로젝트에

모든 빌드. 이 경우를 들어

, 나는 다음과 같은 스냅 샷 dependecies을 만들어 :

  • B는 의존성에에 스냅 샷 의존성 및 완료 빌드 트리거가
  • C는 의존성에 B에 스냅 샷 의존성 및 완료 빌드 트리거가 있습니다
  • D는 스냅 샷 C와에 따라 내가 A의 빌드를 실행하면 완료 Buid 그 종속

에 트리거가, 그 다른 B 트리거링 빌드 체인 (이것은 A -> B -> C -> D)에 있습니다. 나는 첫 번째의 트리거를 수행하지 않고 B, 또는 C에서 시작하면 내가 C, 자사의 트리거 만 D. 그러나

를 트리거 경우는 A 출력 첫 번째 프로젝트를 필요로하기 때문에

그런 다음, B의 빌드가 실패 .

질문 : 빌드 구성 단계

  1. , 난 내가 다른 프로젝트도 A와 참조 (F, G, H)가 고려, 올바른 방법으로 그 일을하고있다 B.
  2. 프로젝트 B 빌드를 시작해야하는 경우 프로젝트 A를 빌드하기 전에 먼저 빌드하도록 구성하는 방법은 무엇입니까?

답변

1

해결 방법은 스냅 샷 종속성을 B에서 A, C에서 B, D에서 C로 구성하는 것입니다. 그러나 전체 빌드 체인이 동일한 수정본에서 실행되므로 D에서 A 로의 종속성이 너무 큽니다. .

빌드 B가 실행되면 체인 (A 및 B)이 모두 빌드됩니다. "적합한 빌드가 있으면 새 빌드를 실행하지 마십시오"옵션이있을 수 있습니다. 이 경우 빌드 B는 적절한 빌드 A가있는 경우 해당 빌드 A를 다시 사용합니다.

에 대해서 트리거 :이 경우 마무리 트리거를 사용하지 않는 것이 좋습니다

  • . 전체 빌드 체인을 트리거하려면 빌드 D를 실행하여 큐에 전체 체인을 추가해야합니다.
  • "스냅 샷 종속성의 변경 사항에 대한 트리거"옵션을 사용하여 D 빌드 구성에서 하나의 VCS 트리거 만 구성하면 VCS 루트의 변경 사항에 따라 빌드 체인이 자동으로 트리거됩니다.

모든 빌드 (A, B, C 또는 D)에 VCS 변경 사항이있는 경우 전체 빌드 체인이 트리거됩니다.