如何使用巡航控制和MsBuild自动发布

如何使用巡航控制和MsBuild自动发布,msbuild,cruisecontrol.net,Msbuild,Cruisecontrol.net,我尝试使用巡航控制、SVN和Ms build自动化更新、构建和发布。从svn存储库进行更新,构建工作正常,但发布时间很长,在bin文件夹中,只有项目DLL会出现,但其他DLL(如“system.web”、“Newtonsoft.Json”)和更多DLL不会更新。我的“ccnet.config”文件如下所示: <cruisecontrol xmlns:cb="urn:ccnet.config.builder" xmlns="http://thoughtworks.org/ccnet/1/8"

我尝试使用巡航控制、SVN和Ms build自动化更新、构建和发布。从svn存储库进行更新,构建工作正常,但发布时间很长,在bin文件夹中,只有项目DLL会出现,但其他DLL(如“system.web”、“Newtonsoft.Json”)和更多DLL不会更新。我的“ccnet.config”文件如下所示:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder" xmlns="http://thoughtworks.org/ccnet/1/8">
  <project name="MyProjectBuild" queue="Q1" queuepriority="1">
    <sourcecontrol type="svn">
      <trunkurl>https://ip/svn//trunk/CruiseControlTest</trunkurl>
      <workingdirectory>F:\CruiseControlPOC\src</workingdirectory>
      <username>username</username>
      <password>password</password>
    </sourcecontrol>

    <tasks>
      <msbuild>
        <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
        <workingdirectory>F:\CruiseControlPOC\BuildScript\</workingdirectory>
        <projectfile>Build.xml</projectfile>
      </msbuild>
    </tasks>
  </project>
</cruisecontrol>

https://ip/svn//trunk/CruiseControlTest
F:\CruiseControl\src
用户名
暗语
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
F:\CruiseControl\BuildScript\
Build.xml
此处给出了我的“Build.xml”文件,该文件由“ccnet.config”引用:



是否有人可以告诉您如何使用copy命令将生成DLL从输出文件夹复制到Publish/bin文件夹,或者是否有其他方法可以使用MsBuild和Cruise Control发布文件。谢谢

您可以在ccnet.config中的MSBuild任务之后添加另一个任务,以便在生成之后调用Power Shell脚本,如下所示:

    <exec>
        <executable>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</executable>
        <baseDirectory>D:\Tools</baseDirectory>
        <buildArgs>-File "D:\Tools\ProgramNamePostBuildTasks.ps1"</buildArgs>
        <buildTimeoutSeconds>600</buildTimeoutSeconds>
     </exec>
    <exec>
        <executable>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</executable>
        <baseDirectory>D:\Tools</baseDirectory>
        <buildArgs>-File "D:\Tools\ProgramNamePostBuildTasks.ps1"</buildArgs>
        <buildTimeoutSeconds>600</buildTimeoutSeconds>
     </exec>
del "D:\Binfolder\*.*"
xcopy "D:\OutputDirectory\ProgramX.dll" "D:\BinFolder\"