我不确定这是否可行,但目前我正在使用带有nAnt脚本的CruiseControl.net构建服务器来处理所有构建,测试和打包。我有nAnt操纵一些文件并存档它们。有没有办法显示nAnt脚本在CruiseControl.net包列表中生成的zip文件?我正在使用ccnet 1.5和nAnt 0.91 alpha2。
感谢。
答案 0 :(得分:1)
经过大量研究,我得出了这样的结论:
有可能创建包并删除文件夹中的所需文件,但你必须修改几个统计文件,但是我没有,但是我放弃了,没有人对此作出回应。
答案 1 :(得分:0)
我这样做是因为我对ccnet的软件包发布者不满意。首先,你需要欺骗ccnet创建一个虚拟包;该包将在[ArtifactDirectory] \ [CCNetLabel]中创建。然后运行一个nant脚本替换包并更新包xml。
ccnet config:
<publishers>
<package>
<name>Build-$[$CCNetLabel]</name>
<compression>0</compression>
<packageList />
</package>
<nant>
<buildArgs>-D:PackageName="Build-$[$CCNetLabel]"</buildArgs>
<buildFile>script.build</buildFile>
<targetList>
<target>PackagePublisher</target>
</targetList>
</nant>
</publishers>
恶性:
<target name="PackagePublisher">
<property name="PackageDirectory" value="${CCNetArtifactDirectory}\${CCNetLabel}" />
<property name="PackageFullPath" value="${PackageDirectory}\${PackageName}.zip" />
<delete file="${PackageFullPath}" />
<zip zipfile="${PackageFullPath}">
<fileset>
<!-- include everything you need to package -->
</fileset>
</zip>
<!-- find package.xml; it is the only xml file in the PackageDirectory -->
<foreach item="File" property="PackageXml">
<in>
<items basedir="${PackageDirectory}">
<include>*.xml</include>
</items>
</in>
<do>
<xmlpoke file="${PackageXml}" xpath="//package[@name='${PackageName}']/@size" value="${file::get-length(PackageFullPath)}" />
</do>
</foreach>
</target>
最后一部分确保在PackageList网页中正确显示包大小。