2013-03-19 3 views
4

CruiseControl.NET을 설정하여 SVN (VisualSVN_Server)에서 새 버전을 자동으로 다운로드하고 베타 디렉토리에 게시하려고합니다. CruiseControl.NET 및 MSBuild를 사용하여 웹 사이트 게시

여기가

가 CruiseControl.NET 구성 파일 MSBuild 직결된다

<msbuild> 
    <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 
    <workingDirectory>C:\CI\WORKING</workingDirectory> 
    <projectFile>WashMyCarHomepage\WashMyCarHomepage.csproj</projectFile> 
    <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag /p:WebProjectOutputDir=C:\inetpub\wwwroot.beta</buildArgs> 
    <targets>Build;Test</targets> 
    <timeout>900</timeout> 
    <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
    </msbuild> 

CruiseControl.NET 성공적으로 MSBuild를 실행하지만, MSBuild를 함께 실패

standard-error stream closed -- null received in event 
standard-output stream closed -- null received in event 
process exited event received 

나는 또한 수동으로 MSBuild를 실행하려고했다 단독으로 작동하는지 여부를 확인하는 콘솔. 그러나 적절한 출력 (웹에 게시 가능)을 얻지 못했습니다. 나는 시도했다 :

C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild.exe C:\CI\WORKING\WashMyCarHomepage\WashMyCarHomepage.csproj /property:OutDir=C:/CI/TEST;Configuration=Release /t:Publish 

그러나 프로젝트는 "게시 불가능 프로젝트 생략"으로 건너 뛰었습니다.

내가 한 솔루션의 다음과 같은 구조 :

WashMyCarHomepage\WashMyCarHomepage.sln 
WashMyCarHomepage\Repository\Repository.csproj 
WashMyCarHomepage\WashMyCarHomepage\WashMyCarHomepage.csproj 

가 어떻게이 문제를 해결할 수

?

+0

위의 단계를 수행하기 전에 svn에서 코드를 다운로드하고 있습니까? – granadaCoder

답변

2

이 문제에 대한 오랜 고생 끝에 해결책을 찾았습니다. CruiseControl.NET 구성 파일 전체를 제공하고 있습니다.

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 
    <project name="Aucis"> 
    <workingDirectory>C:\CI\WORKING</workingDirectory> 
    <artifactDirectory>C:\CI\BUILD</artifactDirectory> 
    <triggers> 
     <intervalTrigger name="CI Trigger" seconds="120" buildCondition="IfModificationExists"/> 
    </triggers> 
    <tasks Name="Clean"> 
     <msbuild> 
     <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 
     <workingDirectory>C:\CI\WORKING</workingDirectory> 
     <projectFile>WashMyCarHomepage\WashMyCarHomepage.csproj</projectFile> 
     <buildArgs>/p:OutputPath=bin /P:Configuration=Deploy-Dev /P:DeployOnBuild=True /P:DeployTarget=MSDeployPublish /P:MsDeployServiceUrl=localhost /P:AllowUntrustedCertificate=True /P:MSDeployPublishMethod=WMSvc /P:CreatePackageOnPublish=True /P:UserName=WindowsUsername/P:Password=WindowsPassword</buildArgs> 
     <timeout>900</timeout> 
     <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
     </msbuild> 
    </tasks> 
    <sourcecontrol type="svn"> 
     <executable>C:\Program Files (x86)\VisualSVN Server\bin\svn.exe</executable> 
     <trunkUrl>https://localhost:8443/svn/project/trunk</trunkUrl> 
     <username>svn_username</username> 
     <password>svn_password</password> 
     <autoGetSource>true</autoGetSource> 
     <cleanCopy>true</cleanCopy> 
     <revisionNumbers>true</revisionNumbers> 
     <tagBaseUrl>https://localhost:8443/svn/project/tags</tagBaseUrl> 
    </sourcecontrol> 
    </project> 
</cruisecontrol> 

"Deploy-Dev"는 VisualStudio에서 설정된 구성입니다.

+0

또한 XML 요소는 대/소문자를 구분합니다. 따라서 CCValidator.exe를 사용하여 구성을 확인하는 경우 문제 일 수 있습니다. –