我有一个私人Google代码项目。对于SCM,我使用Mercurial。对于本地构建,我想使用nant。
基本上是这样的:
构建脚本不会用于持续集成,而只能用于夜间构建和生产构建。
感谢您的帮助
答案 0 :(得分:4)
我不知道,但在(真正的)ant中,我们只使用<exec>
任务来调用hg二进制文件。您可以clone
或仅pull
依赖干净,而hg id -i
执行hg_archival.txt
可以清楚地获取修订号。另一件需要考虑的事情是使用远程Web界面上的归档链接(本质上是通过HTTP的hg归档命令),只需使用wget(不是等效的nant任务)来下拉tip存档,它具有简单一致的链接,然后您可以从存档的{{1}}文件中获取修订版ID。
答案 1 :(得分:2)
由于您正在寻找NANT代码而不是调用mercurial二进制代码,我建议您只使用Nant的<get>
任务来下载您的回购提示,如下所示:
<get src="http://bitbucket.org/tortoisehg/stable/get/tip.zip" dest="latest.zip" />
<unzip zipfile="latest.zip" todir="latest"/>
并且里面应该有一个.hg_archival.txt
文件,其中包含以下内容:
repo: bac32db38e52fd49acb62b94730a55f4f4b0cdee
node: 61482ea34fd0b9650e738eaebb2fe352c2f6315a
您可以从中获得适合用于品牌构建的hashId。
不幸的是,我没有在谷歌代码上找到存档下载链接,但它们在mercurial(和bitbucket)Web界面中非常标准,所以我想它们就在某个地方。
答案 2 :(得分:0)
虽然这不适用于最初提出问题的人,但我需要做类似的事情......但我需要数字修订版(是的,我知道这个数字是特定于存储库的,但在上下文中脚本被使用的地方这很好)。我也没有调用hg.exe的问题,因为可以从hg.exe运行的所有地方都可用。
我最终得到的NAnt脚本是:
<exec program="hg.exe" output="CurrentMercurialRevision.txt">
<arg value="id" />
<arg value="-n" />
</exec>
<loadfile file="CurrentMercurialRevision.txt" property="buildNumber" />
不幸的是,NUnit似乎没有办法直接读取属性,因此我不得不使用中间文本文件并使用loadfile将其处理为属性。我还必须将“CurrentMercurialRevision.txt”添加到.hgignore文件中......但是如果你熟悉Mercurial,你可能已经猜到了。 ; - )
希望这会对某人有所帮助。