【问题标题】:Capturing output from an 'exec' task in CruiseControl.NET从 CruiseControl.NET 中的“执行”任务捕获输出
【发布时间】:2015-04-29 06:54:23
【问题描述】:

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

git rev-list HEAD --count

此命令将一个数字打印到标准输出,然后退出。这是我需要的信息,但如何在 CCNET 中捕获该输出?

到目前为止,我有这个:

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

【问题讨论】:

    标签: .net git msbuild cruisecontrol.net


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      (另一种解决方案)

      使用 GitTagLabeller 插件。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-14
        • 2020-05-05
        • 1970-01-01
        • 2013-12-23
        • 1970-01-01
        • 1970-01-01
        • 2014-09-19
        • 1970-01-01
        相关资源
        最近更新 更多