3

나는 이것에 대한 정보를 찾는 데 어려움을 겪고 있습니다. 방금 Build-Deploy-Test 메인 프로젝트에 대한 빌드 정의를 만들었지 만 워크 플로가 실행될 때 "$ (BuildLocation)"매크로에 대한 잘못된 값을보고합니다.이 매크로는 배포 단계부터 모든 것을 나눕니다. 이 잘못된 경로를 통해 실행).

나는이 문제의 원인을 알고 있지만 문제를 해결하는 방법을 모른다. 실험실을 리디렉션 할 빌드 정의는 솔루션의 '릴리스'구성을 구축하도록 구성됩니다. 드롭 폴더는 "\ outputServer \ drops"입니다. BuildLocation 매크로는 "\\outputServer\drops\<BuildName>\<BuildNameFormat>"을 반환하지만 매크로는 "\\outputServer\drops\<BuildName>\<BuildNameFormat>\Release"을 대신 반환합니다.

처음에는 이것이 LabDefaultTemplate.11.xaml 템플릿 (내가 사용하려고 시도한 템플릿)과 이전의 DefaultTemplate.xaml 템플릿 사이의 비 호환성 때문인 것으로 생각했습니다.이 템플릿은 사용자 지정 템플릿을 기반으로합니다. 새 기본값 (DefaultTemplate.11.1.xaml)을 기본으로 사용하도록 사용자 지정 서식 파일을 업데이트했지만 템플릿을 변환 한 후에도 문제가 지속됩니다.

코드를보고 난 후에도 여전히 구성 이름으로 출력을 필터링하지 않습니다. 이 프로세스는 솔루션 또는 프로젝트 이름을 기반으로하며, 기본적으로 비활성화되어 있습니다 (빌드 정의 구성의 고급 범주에서 '솔루션 별 빌드 출력'옵션에 의해 제어 됨).

드롭 된 출력이이 폴더에 전혀 배치되지 않은 상태에서 드롭 폴더가 '릴리스'로 끝나는 것으로 가정하는 이유는 무엇입니까? 나는 $(BuildLocation)\..\myScript과 같이 경로에 ".."을 추가하여 배포 스크립트를 잘 만들었지 만 워크 플로가 자동화 된 테스트를 실행하려고하면이 동일한 매크로를 사용하고있는 것 같아 분명히 테스트를 찾지 못하는 것 같습니다. dll.

정의 옵션에서 '빌드 할 항목'요소에 빌드 구성을 지정하지 않고 (따라서 기본 항목을 선택하게 함)이 문제를 해결할 수 있지만 구성을 지정하는 것은 우리의 파일에 차이점이 있고 일부 구성이 프로젝트가 릴리스 모드로 빌드 될 때 다르게 변환되기 때문에 일부만 변경됩니다.

저는 현재 VS2012 업데이트 3/TFS 2012 업데이트 2를 사용하고 있습니다.

업데이트 :이 템플릿 자체 내에서이 일을 어디 내가 찾은

좋아. 실험실 작업 흐름이 매우 간단하다는 사실은 여기서 도움이되었습니다.

'if 문'Compute build location needed 안에는 이상한 연결을 수행하는 것으로 보이는 할당이 있습니다. 다음은 코드입니다.

If(LabWorkflowParameters.BuildDetails.Configuration Is Nothing, BuildLocation, If(LabWorkflowParameters.BuildDetails.Configuration.IsEmpty Or (SelectedBuildDetail.Information.GetNodesByType(Microsoft.TeamFoundation.Build.Common.InformationTypes.ConfigurationSummary, True)).Count = 1, BuildLocation, If(LabWorkflowParameters.BuildDetails.Configuration.IsPlatformEmptyOrAnyCpu, BuildLocation + "\" + LabWorkflowParameters.BuildDetails.Configuration.Configuration, BuildLocation + "\" + LabWorkflowParameters.BuildDetails.Configuration.Platform + "\" + LabWorkflowParameters.BuildDetails.Configuration.Configuration))) 

나는 이것이 무엇을 의미하는지 확신하지 못합니다. 이 동작은 빌드 템플릿 자체 (실험실이 아닌)가이 연결을 수행하지 않기 때문에 나에게 버그 인 것 같습니다. LabTemplate은 이러한 유형의 것을 어떻게 가정 할 수 있습니까?

+0

저도 같은 문제가 생겼어요. 나 또한 AnyCpu 플랫폼 설정을 빌드 설정에서 제거하려고 시도했으나 작동하지 않습니다. –

답변

2

LabDefaultTemplate 빌드 프로세스 템플릿에서 활동을 삭제하는 것만으로 효과가있는 것 같습니다.

나는 Assign 활동의 의미 나 목적이 무엇인지 모르지만, 그것 없이는 우리에게 잘 작동하는 것처럼 보입니다.

Remove This Activtiy

+0

예, 임시 작업과 비슷한 작업을 수행했습니다. 템플리트를 수정하고 이러한 "출력 종속 경로 빌드"와 "연결하지 않음"을보다 정확하다고 가정하는 매개 변수를 바꾸는 매개 변수를 넣었습니다. – julealgon