2013-05-08 5 views
0

코드를 배포하는 사용자 지정 빌드가 있습니다. 배포 프로세스의 일부로 빌드 품질을 지정해야합니다. 현재 나는 "Ready for Deployment"와 같은 품질을 입력해야합니다. 프로젝트에 이미 설정된 모든 빌드 품질을 포함하는 사용자 정의 프로세스 매개 변수 드롭 다운을 추가하려고합니다.빌드 품질 목록 가져 오기

처음에는 빌드 품질을 얻는 사용자 지정 활동을 만들었습니다. TFS는 이미 사용하여이 작업을 수행 할 수있는 방법이 있습니다.

buildServer.GetBuildQualities(teamProjectName) 

그러나, 사용자 정의 활동에 전달 될 TeamProjectName을 요구를이 내가 혼란스러워 곳, 내가이 인수를 전달하는 방법을 이해하지 못하는 것입니다

.

우리는 많은 프로젝트를 보유하고 있으며 모두 동일한 빌드 정의를 사용하므로 팀 프로젝트 이름을 하드 코딩 할 수 없습니다.

답변

0

변수 (IBuildDetail)가 워크 플로에 있습니다. 현재 실행중인 빌드 워크 플로에 대한 팀 프로젝트의 이름을 포함하는 TeamProject 속성이 있습니다.

당신은 당신의 활동에 String 입력 인수를 추가하고이 전달되도록 BuildDetail.TeamProject에 XAML 디자이너의 값을 설정해야합니다.

+0

은 음 ... 내가 그와 다 퉜다 문제는 공정 변수의 부하입니다. 그래서 빌드를 대기 행렬에 넣을 때 팀 프로젝트 이름을 주입하는 방법이 필요합니다. – Lee

0

를 다른 방법으로 사용자 지정 작업을 사용하여의 BuildDetail.Quality를 사용하여 조작 할 수 있습니다 간단한 과제. 예를 들어, 당신은 Try Compile and Test 요소의 Finally 절에 아래의 순서를 넣을 수 있습니다 : 빌드가 실행되기 전에

<Sequence DisplayName="Set Build Quality" > 
<If Condition="[BuildDetail.CompilationStatus = BuildPhaseStatus.Succeeded]" DisplayName="BuildDetail.CompilationStatus = BuildPhaseStatus.Succeeded" > 
    <If.Then> 
    <Assign DisplayName="Assign Build Quality Ready"> 
     <Assign.To> 
     <OutArgument x:TypeArguments="x:String">[BuildDetail.Quality]</OutArgument> 
     </Assign.To> 
     <Assign.Value> 
     <InArgument x:TypeArguments="x:String">["Ready for Initial Test"]</InArgument> 
     </Assign.Value> 
    </Assign> 
    </If.Then> 
    <If.Else> 
    <Assign DisplayName="Assign Build Quality Under Investigation"> 
     <Assign.To> 
     <OutArgument x:TypeArguments="x:String">[BuildDetail.Quality]</OutArgument> 
     </Assign.To> 
     <Assign.Value> 
     <InArgument x:TypeArguments="x:String">Under Investigation</InArgument> 
     </Assign.Value> 
    </Assign> 
    </If.Else> 
</If> 
</Sequence> 
+0

답장을 보내 주셔서 감사합니다. 그러나 사용자 지정 프로세스 매개 변수 (새 빌드를 큐에 넣을 때 매개 변수 탭)에 드롭 다운을 추가하는 방법을 찾고 있습니다. 따라서 사용자는 다른 환경으로 승격시키려는 빌드 품질을 선택할 수 있습니다. – Lee