4

CruiseControl.NETをセットアップして、SVN ( VisualSVN_Server )から新しいバージョンを自動的にダウンロードし、ベータ ディレクトリに公開しようとしています。

これは、 MSBuildに関する CruiseControl.NET 構成ファイルです。

<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 をコンソールから手動で実行して、単独で動作するかどうかを試してみました。しかし、適切な出力 (Web に公開可能) を取得できませんでした。私は試した:

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

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

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 で設定される構成であることに注意してください。

于 2013-03-28T10:32:37.707 に答える