2013-06-13 7 views
0

TFS 빌드가 성공한 후 배포를 시작하려고합니다. 내가 MSBuild를 가지 인자에 다음과 같은 매개 변수를 공급하고TFS 빌드 후 MSDeploy 빌드가 실행되지 않음

/P : AllowUntrustedCertificate = 진정한
/P : DeployOnBuild = 진정한
/P : DeployTarget = MsDeployPublish
/P : CreatePackageOnPublish = 진정한
이/P : MSDeployPublishMethod = WMSVC
/P : MSDeployServiceUrl = https://server.test.com
/P : DeployIisAppPath = "웹 사이트"
/P : 사용자 이름 = 사용자 이름/P : 비밀 번호 = 비밀번호

Build는 원활하게 실행되지만 Deploy는 실제로 발생하지 않습니다. 내 Drop 폴더에서 _PublishedWebsites라는 임시 폴더가 추가되지만 해당 폴더의 내용은 Web Server에 푸시되지 않습니다.

WebDeploy 3.0은 VS 2012 및 TFS 2012뿐 아니라 빌드 서버에도 설치되어 있습니다. WebDeploy를 사용하여 문제없이 내 로컬 인스턴스에서 VS 2012를 통해 배포를 보낼 수 있습니다. 내가 누락 된 부분을 잘 모르겠지만 배포를 실행하는 데는 작은 것이어야합니다.

+0

로깅을 11 (Verbosity Diag)로 설정하여 빌드를 실행했는데, 어떤 일이 일어 났는지 알려줄 필요가 있습니다. – DaveShaw

+0

@DaveShaw 어떻게 그럴 수 있습니까? –

+0

"새로운 빌드를 대기"할 때 "매개 변수"탭으로 가볍게 치고 "자세한 로깅 표시"를 "진단"으로 설정하십시오. – DaveShaw

답변

1

내 창고에서 &이 잘 구축되지만 Drop 트리에 웹 사이트가 생성되지 않는이 문제가있었습니다. 며칠 동안 많은 것을 시도하고 마침내 솔루션으로 프로젝트 파일을 변경했습니다.

배포 할 내 웹 사이트는 원래 VS2008의 WebSite 프로젝트 였고 나중에 VS2012의 WebApplication 프로젝트로 변환되었습니다. csproj 파일 (및/또는 vbproj 파일)에서 나는 다음과 같은 부분을 발견 : 나는 대체

<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" /> 
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> 

을 그 나는 새로 생성 된 MVC 응용 프로그램에서 수집 다음과 :

<PropertyGroup> 
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion> 
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> 
    </PropertyGroup> 
    <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" /> 
    <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> 
    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> 
    <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> 
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> 
    </Target> 

이를 변수를 정의하고 빌드 타겟을 설정하여 자동화 된 빌드가 변수를 선택하도록합니다. 왜 WebApplication 변환 프로세스가 이러한 것을 놓쳤는 지 알 수 없습니다. 프로젝트가 VB가 아닌 경우 'VisualBasic'을 'CSharp'로 바꿔야합니다. 또한 빌드 서버의 구성에 따라 v11.0 대신 v10.0을 사용해야 할 수도 있습니다.

관련 문제