从';执行官';CruiseControl.NET中的任务

从';执行官';CruiseControl.NET中的任务,.net,git,msbuild,cruisecontrol.net,.net,Git,Msbuild,Cruisecontrol.net,我正在使用CruiseControl.NET构建和版本化我的代码(格式:major.minor.build.revision)。对于修订版组件,我使用SVN修订号。现在我们切换到Git,它使用SHA-1哈希而不是修订号。在快速进行internet搜索后,我发现您可以使用以下命令获取提交次数: git rev-list HEAD --count 此命令将数字打印到标准输出,然后退出。这是我需要的信息,但如何在CCNET中捕获该输出 到目前为止,我有: <tasks> <

我正在使用CruiseControl.NET构建和版本化我的代码(格式:major.minor.build.revision)。对于修订版组件,我使用SVN修订号。现在我们切换到Git,它使用SHA-1哈希而不是修订号。在快速进行internet搜索后,我发现您可以使用以下命令获取提交次数:

git rev-list HEAD --count
此命令将数字打印到标准输出,然后退出。这是我需要的信息,但如何在CCNET中捕获该输出

到目前为止,我有:

<tasks>
    <exec>
        <executable>git.exe</executable>
        <buildArgs>rev-list HEAD --count</buildArgs>
    </exec>
    <msbuild>
    ...
    </msbuild>
</tasks>

git.exe
修订名单总人数
...

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

myFolder\myRevision.txt
福-
(另一种解决方案)

使用GitTagLabeller插件

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