在设置CruiseControl时,我在发布商任务中添加了一个buildpublisher块:
<buildpublisher>
<sourceDir>C:\MyBuild\</sourceDir>
<publishDir>C:\MyBuildPublished\</publishDir>
<alwaysPublish>false</alwaysPublish>
</buildpublisher>
这样可行,但它复制了构建的整个文件内容,我只想复制DLL和.aspx页面,我不需要源代码即可发布。
有没有人知道过滤此方法的方法,还是我需要设置任务来运行RoboCopy脚本呢?
答案 0 :(得分:3)
我设置了一个完成此任务的任务。我不知道有什么方法可以使CruiseControl具体化。我通常只链接一个批处理文件来复制到CC.net任务。
答案 1 :(得分:1)
我不确定网络项目,但对于我们的winforms应用程序,您可以从MSBuild任务中获取TargetOutputs,如下所示:
<MSBuild Projects="@(VSProjects)"
Properties="Configuration=$(Configuration)">
<Output TaskParameter="TargetOutputs" ItemName="BuildTargetOutputs"/>
</MSBuild>
然后复制一份:
<Copy SourceFiles="@(BuildTargetOutputs)"
DestinationFolder="bin"
SkipUnchangedFiles="true" />
不确定TargetOutputs对于Web项目是什么,但对于winforms和类库,它是.dll或.exe。
答案 2 :(得分:0)
CC.NET中的默认构建发布者不提供执行此操作的方法。您有几个选择:
答案 3 :(得分:0)
也可以使用CC.Net Powershell任务。