如何在 Jenkins 中使用自定义贴标机?

How to use a custom labeller in Jenkins?

我即将从 CruiseControl.NET 切换到 Jenkins。我想为 Jenkins 使用来自 CCNET 的自定义贴标机。我该怎么做?

目前我正在为 CCNET 使用自定义标签器,例如示例: http://predicatet.blogspot.com/2007/10/version-custom-cruisecontrolnet.html

下面是在 ccnet.config 文件中调用我的标签器 (CCNET)。

<labeller type="svnRevisionLabeller">
    <workingDirectory>C:\temp\project</workingDirectory>
    <executable>C:\Program Files (x86)\CollabNet\Subversion Client\svn.exe</executable>
    <username>user</username>
    <password>password</password>
</labeller>

在 Jenkins 中,我使用 NAnt 作为构建工具。所以我不能在 Jenkins 中设置这样的条目。

在我的 .cs 文件中,我设置了结果 als 标签。但是在 Jenkins 中没有这样的选项。

public void Run(IIntegrationResult result)
{
     result.Label = this.Generate(result);
}

如何在 Jenkins 中使用我的书面标注器?

在 Jenkins 中,我为 windows 批处理命令添加了另一个构建步骤。

示例:

D:\Labeller\Release\JenkinsSvnRevisionLabeller.exe
--workingDirectory="C:\temp\Project" --user="user" --password="password"  --executable="D:\CollabNet\Subversion Client\svn.exe"

我在编写自己的程序时解决了我的问题 类 并且不使用 .dll 而是 .exe。这些 类 获取必要的参数并构建 ThoughtWorks 结果对象。

那么老贴标机就可以用了。