我使用CruiseControl.NET自动构建我的.NET 3.5 Web应用程序,这是一种享受。但是,有没有办法自动创建这些版本的ZIP文件,并将ZIP放入一个单独的目录?
我已经看到使用NAnt可以实现这一点,但无法找到如何使其工作的示例。
有人可以提供帮助/示例吗?
答案 0 :(得分:2)
我刚刚在CC机上添加了这样一个Nant任务。
请参阅http://nant.sourceforge.net/release/latest/help/tasks/zip.html
请注意,在最初查看zip存档时,可能看起来好像所有文件都在同一级别,即没有文件夹,但实际上它们是保留文件夹。
请注意如何排除文件类型或文件夹。
您可以采用仅包含所需文件类型的方法,并排除其余文件类型。
首先定义源文件allcode.dir的位置以及zip文件的名称和位置sourcebackup.zip
现在这是一项非常艰巨的任务
<zip zipfile="${sourcebackup.zip}" includeemptydirs="true" verbose="true">
<fileset basedir="${allcode.dir}">
<include name="**/*" />
<exclude name="**/_resharper*/**" />
<exclude name="**/build/**" />
<exclude name="**/obj/**" />
<exclude name="**/bin/**" />
<exclude name="**/*.dll" />
<exclude name="**/*.scc" />
<exclude name="**/*.log" />
<exclude name="**/*.vssscc" />
<exclude name="**/*.suo" />
<exclude name="**/*.user" />
<exclude name="**/*.pdb" />
<exclude name="**/*.cache" />
<exclude name="**/*.vspscc" />
<exclude name="**/*.msi" />
<exclude name="**/*.irs" />
<exclude name="**/*.exe" />
</fileset>
<echo message="########## Zipped##########" />
像其他任何nant任务一样从cc版本中调用它。 我们发现最好是每个CC项目尽可能调用单个任务,然后您只需要更改nant脚本,并且可以在本地计算机上运行nant脚本。
例如在项目块中,我们有单个目标“build”,作为其工作的一部分调用ZipSource
<targetList>
<target>Build</target>
</targetList>
我们将上述内容用于BizTalk项目。
享受。
答案 1 :(得分:1)
如果你正在使用Nant,那么Zip task不适合你吗?
答案 2 :(得分:0)
我们正在破解CruiseControl.NET项目的来源
但我们正在使用蚂蚁
<target name="zipProject">
<mkdir dir="output"/>
<zip destfile="output\sources.zip" basedir="C:\project\src" />
</target>
我不知道nant但我希望它是相似的
答案 3 :(得分:0)
@David:NAnt Zip任务就是我所追求的,是的,但是我想问如何将它作为自动CruiseControl.NET构建的一部分进行集成。如果你看一下NAnt documentation for the cruise control config,它就不清楚我是否可以从我的CruiseControl配置中的<tasks>
XML节点内运行一个NAnt任务 - 它只是说它可以是<schedule>
。
我找到了一些设置CruiseControl配置的例子和一些NAnt任务的例子,但没有任何东西可以集成两者:具体来说,就是拉开CruiseControl构建。
如果有人有他们的CruiseControl配置的示例XML,连接到NAnt zip任务,请在此处发布示例。
干杯。