2

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

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

任何人都可以提供帮助/示例吗?

4

4 回答 4

2

我刚刚在我们的 CC 机器上添加了这样一个 Nant 任务。

http://nant.sourceforge.net/release/latest/help/tasks/zip.html

请注意,最初查看 zip 存档时,可能看起来好像所有文件都在同一级别,即没有文件夹,但实际上它们的文件夹被保留了。

请注意如何排除文件类型或文件夹。

您可以采取只包括您想要的文件类型并排除其余文件类型的方法。

首先定义源文件是 allcode.dir 的属性以及 zip 文件 sourcebackup.zip 的名称和位置

现在这是 nant 任务

 <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 项目。

享受。

于 2009-05-18T12:53:13.213 回答
1

如果您使用的是 Nant,那么Zip 任务不适合您吗?

于 2008-11-06T13:08:27.480 回答
0

我们正在压缩 CruiseControl.NET 项目的源代码

但我们正在使用蚂蚁

<target name="zipProject">
   <mkdir dir="output"/>
   <zip destfile="output\sources.zip" basedir="C:\project\src" />
</target>

我不知道南特,但我希望它是相似的

于 2008-11-06T13:11:58.080 回答
0

@David:NAnt Zip 任务是我所追求的,是的,但我问的是如何将它集成为自动 CruiseControl.NET 构建的一部分。如果您查看巡航控制配置的 NAnt 文档,它并不清楚我是否可以从<tasks>CruiseControl 配置中的 XML 节点内部运行 NAnt 任务 - 它只是说它可以是<schedule>.

我找到了一些设置 CruiseControl 配置的示例和一些 NAnt 任务的示例,但没有任何东西可以集成这两者:特别是压缩 CruiseControl 构建。

如果有人有他们的 CruiseControl 配置的一些示例 XML,连接到 NAnt zip 任务,请在此处发布示例。

干杯。

于 2008-11-06T14:44:26.053 回答