2013-10-25 3 views
3

TeamCity에 자동화 된 빌드가있는 새 코드베이스로 작업을 시작합니다. 종속성은 TeamCity 구성에서 정의되며 다른 빌드에서 빌드 아티팩트의 일부를 가져 와서 빌드중인 프로젝트의 "lib"서브 디렉토리로 추출합니다.TeamCity 구성을 기반으로 로컬 빌드를 어떻게 재현합니까?

TeamCity에서 종속성을 정의 할 때 개발자가 로컬 빌드를 어떻게 재현합니까? 로컬로 종속성을 업데이트하기 위해 TeamCity 빌드의 종속성을 가져 오는 방법이 있습니까?

TeamCity에 대한 설명서를 보면이 프로젝트의 구성이 종속 프로젝트 (TeamCity의 기능)를 설정하는 데 필요한 것으로 보입니다. 그러나 프로젝트의 결과는 MSI입니다. 이것은 일반적으로 두 개의 별도 빌드 (하나는 빌드 종속성과 빌드 결과를 포함하는 빌드 출력을 생성하고 두 번째는 이러한 아티팩트를 가져 와서 MSI를 생성 함)로 분리됩니까?

내가하고 싶은 일은 로컬 컴퓨터의 빌드 영역이 올바른 종속성을 갖도록 올바르게 업데이트하는 것입니다. 이 작업을 수행하는 데 예상되는 방법은 무엇입니까? TeamCity에 "규칙"이 정의되어 있다면 어떻게 로컬에서 사용할 수 있습니까?

업데이트 : TeamCity를 Nuget 서버로 사용하고 로컬 빌드에서 Nuget 클라이언트를 사용하여 종속 라이브러리를 설치하도록 고려했습니다. TeamCity와 프로젝트의 종속성이 한 곳 (DRY)에 정의되어 있으면 좋을 것입니다.

답변

0

제 조언은 다음과 같습니다.

TeamCity가 특정 작업에 대한 실질적인 가치를 제공하지 않는 한 불필요하게 TeamCity에 연결하지 마십시오. 독립적 인 재사용 가능한 코드 라이브러리 인 정품 소프트웨어 패키지를 작성하는 경우 별도의 빌드 구성으로 빌드하고 Nuget 서버에 업로드하는 것이 좋습니다 (TC는 간단한 기능으로 작동 할 수 있음). 그런 다음 로컬 빌드는 CI 빌드와 동일하게 사용됩니다.

TC 종속성은 유용한 도구이지만 오용되거나 남용 될 수도 있습니다. TC는 많은 플랫폼을위한 CI 서버 기능을 가지고 있으며, 그 중 일부는 패키지가 없거나 (역사적으로는 없었습니다) 기억하십시오.

관련 문제