我使用 CruiseControl.NET 来自动构建我的 .NET 3.5 Web 应用程序,这是一种享受。但是,有没有办法自动创建这些构建的 ZIP 文件,并将 ZIP 放入单独的目录中?
我已经看到使用 NAnt 可以做到这一点,但找不到如何使其工作的示例。
任何人都可以提供帮助/示例吗?
我使用 CruiseControl.NET 来自动构建我的 .NET 3.5 Web 应用程序,这是一种享受。但是,有没有办法自动创建这些构建的 ZIP 文件,并将 ZIP 放入单独的目录中?
我已经看到使用 NAnt 可以做到这一点,但找不到如何使其工作的示例。
任何人都可以提供帮助/示例吗?
我刚刚在我们的 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 项目。
享受。
如果您使用的是 Nant,那么Zip 任务不适合您吗?
我们正在压缩 CruiseControl.NET 项目的源代码
但我们正在使用蚂蚁
<target name="zipProject">
<mkdir dir="output"/>
<zip destfile="output\sources.zip" basedir="C:\project\src" />
</target>
我不知道南特,但我希望它是相似的
@David:NAnt Zip 任务是我所追求的,是的,但我问的是如何将它集成为自动 CruiseControl.NET 构建的一部分。如果您查看巡航控制配置的 NAnt 文档,它并不清楚我是否可以从<tasks>
CruiseControl 配置中的 XML 节点内部运行 NAnt 任务 - 它只是说它可以是<schedule>
.
我找到了一些设置 CruiseControl 配置的示例和一些 NAnt 任务的示例,但没有任何东西可以集成这两者:特别是压缩 CruiseControl 构建。
如果有人有他们的 CruiseControl 配置的一些示例 XML,连接到 NAnt zip 任务,请在此处发布示例。
干杯。