2014-02-10 2 views
1

지속적인 통합 프로젝트를 진행 중입니다. 빌드 및 배포를 위해 Atlassian Bamboo (기본적으로 msbuild)를 설치하는 것뿐만 아니라 로컬 Nuget 패키지 저장소를 설정했습니다.솔루션 구성을 기반으로 nuget 패키지 버전을 지정하십시오.

MyPackage.Library 버전 1.1.1.1

MyPackage.Library 버전 1.1.1.1 테스트

MyPackage.Library 버전 1.1.1.1 - 데브

을 다음과 같이 nuget 패키지 버전은 추가 이름없이 패키지는 생산 패키지입니다. Bamboo는 세 가지를 모두 빌드하고 Nuget 패키지 서버에 배포하지만 문제는 내가 사용하려는 프로젝트에서 발생합니다. 대나무가 패키지를 포함하는 프로젝트의 테스트 및 개발 버전을 빌드 할 때 테스트 또는 dev nuget 패키지를 지정하기 위해 packages.config를 '변형'하는 방법을 찾지 못했습니다. (혼란 스럽다면 미안 해요.)

어떤 솔루션 구성 (IDE 내부)을 기반으로 사용할 너겟 패키지를 어떻게 지정할 수 있습니까?

(편집 :. 지금 비주얼 스튜디오 nuget 패키지의 빌드 작업을 복원하는 방법을 찾고 난 ... 수동으로 같은 것을 사용하여 패키지를 지정할 수 있습니다

String cmdnuget = "C:\\Tools\\nuget restore " + item.toString() + " -PackagesDirectory " + startingDir.toString() + "\\packages -NonInteractive -NoCache -ConfigFile C:\\Tools\\NuGet.config"; 

알고하지만 그게 정말 도움이되지 않습니다 IDE 개발 및 디버깅 내부).

EDIT2 : dev/test/prod에 개별 git repo를 사용한다는 생각을 가지고 노는 것. packages.config 파일에 dev/test 패키지에 대한 적절한 매핑이 포함될 수 있기 때문에 선택할 수있는 경로 일 수 있습니다. 누군가에게 더 좋은 아이디어가있을 경우를 대비하여 지금 열어 두겠습니다.

+1

달성하려는 목표는 무엇입니까? –

+0

내 대답보기. 나는이 사고 과정을 거의 돌파했습니다. 미안 해요. – CarComp

답변

0

각 환경에 개별 repo를 사용하고 각 환경에 맞는 repo를 사용하여 각각의 환경에 맞는 적절한 nuget 패키지를 포함하는 적절한 packages.config를 포함하는 것이이 문제에 대한 간단한 해결책이었습니다. 솔직히 잘못된 질문을 던지고 잘못된 길을 택한 다음 나중에 간단한 접근 방식이 가장 효과적이라는 것을 발견했습니다.

+0

장기간에 Artifactory와 같은 적절한 패키지 관리자를 사용하면 단일 레포를 유지할 수 있지만 각 패키지 ('HasPassedUnitTests', 'Has PassedComponentTests', 'HasPassedIntergrationTests'등)에 대한 추가 메타 데이터를 사용하는 것이 더 나을 것입니다. .) 별도의 repos보다는 오히려 환경을위한 별도의 repos가 분리 된 코드 브랜치 또는 심지어 환경 당 git repos보다 낫다! –

관련 문제