Jenkins构建每个分支设置jobnameprefix

时间:2015-05-07 14:28:47

标签: git groovy jenkins

我试图在Jenkins中设置以下http://entagen.github.io/jenkins-build-per-branch/插件。我创建了一个名为test_template-master的作业,在开关字段中,我在配置中放置了-DtemplateJobPrefix = test_ -DtemplateBranchName = master。

现在运行作业时出现以下错误:

  

http://10.13.0.101:8080/api/json获取项目名称例外   in thread" main" java.lang.AssertionError:无法找到任何作业   匹配模板正则表达式:^(测试_- [^ - ] *) - (主)$你至少需要   一个作业匹配templateJobPrefix和templateBranchName后缀   参数。表达式:( templateJobs?.size()> 0)at   org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:388)     在   org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:658)     在   com.entagen.jenkins.JenkinsJobManager.findRequiredTemplateJobs(JenkinsJobManager.groovy:108)     在   com.entagen.jenkins.JenkinsJobManager $ findRequiredTemplateJobs.callCurrent(未知   来源)at   org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)     在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)     在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)     在   com.entagen.jenkins.JenkinsJobManager.syncWithRepo(JenkinsJobManager.groovy:37)     在com.entagen.jenkins.JenkinsJobManager $ syncWithRepo.call(未知   来源)at   org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)     在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)     在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)     在com.entagen.jenkins.Main.main(Main.groovy:30):syncWithRepo FAILED

所以它要求匹配的templateJobPrefix和templateBranchName,但实际上我不知道如何定义JobPrefix和BranchName。当我将模板作业名称定义为test_template-master时,我希望将test_作为前缀,将master作为分支,但它似乎不会像这样工作。

任何人都可以举出一个很好的例子吗?如何定义工作名称?

1 个答案:

答案 0 :(得分:0)

你的正则表达式说它应该以{{1​​}}开头,然后是test。我的名字中没有看到“下划线,连字符”。