2012-01-09 4 views
1

MSBuild 스크립트를 실행하여 프로젝트를 컴파일하고 iv Teamcity의 일반 설정에서 이슈 경로를 설정합니다. 내 MSBuild 스크립트를 먼저 빌드하고 zip 파일을 만듭니다. 나는 유물로 그 zip 파일을 추가하고 싶습니다하지만 난 인 TeamCity에 빌드를 실행할 때이 오류를 얻을 : 인 TeamCity 다음 내 MSBuild에서 자사가 만들 때 zip 파일을 오른쪽으로 잡아 시도와 같은Teamcity 지연 아티팩트

[17:44:56]: [CreateNightlyZip] Zip 
[17:44:56]: [Zip] C:\BuildAgent\Build\Build.proj(55, 5): The process cannot access the file 'C:\BuildAgent\work\c13cf8f192b25cd1\bin\Debug\20120109_Foo.PE.zip' because it is being used by another process. 

는 그래서 lookes 스크립트가 파일을 넣지 못했습니다.

<Target Name="CreateNightlyZip"> 
    <PropertyGroup> 
     <StringDate>$([System.DateTime]::Now.ToString('yyyyMMdd'))</StringDate> 
    </PropertyGroup> 
    <ItemGroup> 
     <DebugApplicationFiles Include="$(DebugPath)\**\*.*" Exclude="$(DebugPath)\*vshost.exe*" /> 
    </ItemGroup> 
    <MakeDir Directories="$(NightlyBuildPath)"/> 
    <Zip Files="@(DebugApplicationFiles)" 
     WorkingDirectory="$(DebugPath)" 
     ZipFileName="$(NightlyBuildPath)\$(StringDate)_$(NightlyZipName).zip" 
     ZipLevel="9" /> 
    </Target> 

아무도 allso가이 문제를 가지고 또는 무엇 이것에 대한 해결책이 될해야 유무 : 여기

은 MSBuild를 대상입니까?

EDIT : 이상한 점은 checkout 폴더의 루트에 zip 파일을 만들면 모든 것이 작동하지만 Debug 폴더에 만들면이 오류가 발생한다는 것입니다.

답변

1

내가 한 일은 만든 .zip 파일을 디버그 폴더에 넣고 프로젝트 루트 폴더에 배치하지 않는 것입니다. 그렇게하면 zip 파일이 생성되고 Teamcity에서이 파일을 아티팩트로 사용할 수 있습니다.

2

TeamCity는 모든 빌드 단계가 완료된 경우, 즉 MSBuild 스크립트가 완료 될 때만 아티팩트를 게시합니다. 당신이 서비스 메시지를 사용하지 않는 경우 http://confluence.jetbrains.net/display/TCD65/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-PublishingArtifactswhiletheBuildisStillinProgress

, 파일을 고정하는 과정을 확인해야합니다 :

는 유물이 준비가되면 빌드 스크립트에서 특별 서비스 메시지를 생성하는 데 필요한 빌드하는 동안 아티팩트를 게시하려면. 어쩌면 같은 머신에 두 에이전트가 동시에 빌드를 실행하고 서로 간섭 할 수 있습니까?

+0

실행중인 두 번째 에이전트가 없습니다. 원래 게시물의 EDIT를 참조하십시오. – hs2d