捕获' exec' CruiseControl.NET中的任务

时间:2015-04-29 06:54:24

标签: .net git msbuild cruisecontrol.net

我使用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>

2 个答案:

答案 0 :(得分:0)

将此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

答案 1 :(得分:0)

(另一种解决方案)

使用 GitTagLabeller 插件。

  

此贴标机插件从最后一个标签构建CCNet内部标签   在git存储库分支上 - 通常使用git源代码下载   控制提供者。

https://github.com/TercerPlaneta/ccnet.GitTagLabeller