2017-02-23 1 views
0

TeamCity 빌드 실행시 패키지화 할 프로젝트를 설정하려고합니다. 이를 위해 TeamCity 빌드에서 사용자 정의 매개 변수 설정이 있습니다. 매개 변수는 프로젝트 이름 집합으로, 빌드를 실행할 때 미리 정의 된 값 (프로젝트 이름) 집합에서 선택하라는 메시지가 표시됩니다. 예를 위해서 사용자 지정 빌드 실행시 Team City에서 패키지로 프로젝트를 설정하는 방법

은의이 사용자 정의 매개 변수가 가정 해 봅시다 :
ProjectToPackage: Project1, Project2, Project3 

나중에 빌드 단계에서

내가 포장하는 프로젝트를 결정하려면이 매개 변수를 사용하려면 팩 nuget. 그래서, 사양 파일에 내가 있었다 :

I 사용자 정의 파라미터 선택, 이런 식으로 뭔가를 반영하기 위해 지금 할 모든 프로젝트, 패키지
trunk/*/*.csproj 

: 이제

trunk/*/%ProjectToBuild%.csproj 

이 분명하면 작동하지 않습니다는 다수의 파라미터 값이 선택 될 때의 경우 에서처럼 다중 값 "Project1의 것, 선택된 Project1의 및 Project2에 egif,", ", ProjectToPackage 분리 문자열 선택

trunk/*/Project1, Project2.csproj 

물론 실패한 : Project2에 "는 결과로 사양 파일 선택에 설정합니다.

그래서 TeamCity 빌드의 결과로 패키지 될 프로젝트 이름을 입력 할 수있는 방법을 찾고 있습니다.

답변

0

이렇게하려면 MSBuild 스크립트를 작성해야합니다.

<Target Name="Pack"> 
    <ItemGroup> 
     <_SelectedProjectItem Include="$(ProjectsToBuild)" /> 
     <ProjectsToPack Include="$(MSBuildProjectDirectory)\*\%(_SelectedProjectItem.Identity).csproj" /> 
    </ItemGroup> 

    <Exec Command="$(PathToNuGetExe) pack %(ProjectsToPack.FullPath) -OutputDirectory $(OutDir) -IncludeReferencedProjects" /> 
    </Target> 
: 이름 ProjectsToBuildpackaged로 모든 프로젝트를 나열 맞춤 매개 변수 설정이 고려 , 여기에 일을했던 MSBuild를 target입니다
관련 문제