我使用CruiseControl.NET (格式: major.minor.build.revision)来构建我的代码并对其进行版本控制。对于修订版本组件,我通常使用SVN修订版本号。现在我们切换到Git,它使用SHA-1散列而不是修订号。在互联网上快速搜索后,我发现您可以使用以下命令获取提交数:
git rev-list HEAD --count
此命令将一个数字打印到stdout,然后退出。这就是我需要的信息,但是如何在CCNET中捕获该输出呢?
到目前为止,我有这样的想法:
<tasks>
<exec>
<executable>git.exe</executable>
<buildArgs>rev-list HEAD --count</buildArgs>
</exec>
<msbuild>
...
</msbuild>
</tasks>
发布于 2015-04-30 17:59:03
将此git命令重定向到一个文件。
git.exe rev-list HEAD --count >myRevision.txt
然后在CC.NEt项目配置中使用fileLabeller。
<labeller type="fileLabeller">
<labelFilePath>myFolder\myRevision.txt</labelFilePath>
<prefix>Foo-</prefix>
<allowDuplicateSubsequentLabels>true</allowDuplicateSubsequentLabels>
</labeller>
参考:http://cruisecontrolnet.org/projects/ccnet/wiki/File_Labeller
发布于 2015-04-30 18:04:53
(另一种解决方案)
使用GitTagLabeller插件。
这个标签插件从git仓库分支上的最后一个标签构建CCNet内部标签-通常使用git源码控制提供程序下载。
https://stackoverflow.com/questions/29936350
复制