如何创建Cruise Control构建的ZIP文件?

时间:2008-11-06 12:44:23

标签: continuous-integration cruisecontrol.net zip

我使用CruiseControl.NET自动构建我的.NET 3.5 Web应用程序,这是一种享受。但是,有没有办法自动创建这些版本的ZIP文件,并将ZIP放入一个单独的目录?

我已经看到使用NAnt可以实现这一点,但无法找到如何使其工作的示例。

有人可以提供帮助/示例吗?

4 个答案:

答案 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任务,请在此处发布示例。

干杯。