Jenkins 构建每个分支设置 jobnameprefix
Jenkins build per branch setup jobnameprefix
我正在尝试在 Jenkins 中设置以下 http://entagen.github.io/jenkins-build-per-branch/ 插件。我创建了一个名为 test_template-master 的作业,并在 Switches 字段中将 -DtemplateJobPrefix=test_ -DtemplateBranchName=master 放入我的配置中。
当运行作业现在我得到以下错误:
getting project names from http://10.13.0.101:8080/api/json Exception
in thread "main" java.lang.AssertionError: Unable to find any jobs
matching template regex: ^(test_-[^-]*)-(master)$ You need at least
one job to match the templateJobPrefix and templateBranchName suffix
arguments. Expression: (templateJobs?.size() > 0) at
org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:388)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:658)
at
com.entagen.jenkins.JenkinsJobManager.findRequiredTemplateJobs(JenkinsJobManager.groovy:108)
at
com.entagen.jenkins.JenkinsJobManager$findRequiredTemplateJobs.callCurrent(Unknown
Source) at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
at
com.entagen.jenkins.JenkinsJobManager.syncWithRepo(JenkinsJobManager.groovy:37)
at com.entagen.jenkins.JenkinsJobManager$syncWithRepo.call(Unknown
Source) at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
at com.entagen.jenkins.Main.main(Main.groovy:30) :syncWithRepo FAILED
所以它要求匹配的 templateJobPrefix 和 templateBranchName 但我实际上不知道我应该如何定义 JobPrefix 和 BranchName。当我将模板作业名称定义为 test_template-master 时,我希望它将 test_ 作为前缀,将 master 作为分支,但它似乎不是这样工作的。
谁能举例说明它应该如何工作?作业名称应该如何定义?
你的正则表达式说它应该以 test
开头,然后是 _-
。我在你的名字中没有看到 "underscore, hyphen"。
我正在尝试在 Jenkins 中设置以下 http://entagen.github.io/jenkins-build-per-branch/ 插件。我创建了一个名为 test_template-master 的作业,并在 Switches 字段中将 -DtemplateJobPrefix=test_ -DtemplateBranchName=master 放入我的配置中。
当运行作业现在我得到以下错误:
getting project names from http://10.13.0.101:8080/api/json Exception in thread "main" java.lang.AssertionError: Unable to find any jobs matching template regex: ^(test_-[^-]*)-(master)$ You need at least one job to match the templateJobPrefix and templateBranchName suffix arguments. Expression: (templateJobs?.size() > 0) at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:388) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:658) at com.entagen.jenkins.JenkinsJobManager.findRequiredTemplateJobs(JenkinsJobManager.groovy:108) at com.entagen.jenkins.JenkinsJobManager$findRequiredTemplateJobs.callCurrent(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141) at com.entagen.jenkins.JenkinsJobManager.syncWithRepo(JenkinsJobManager.groovy:37) at com.entagen.jenkins.JenkinsJobManager$syncWithRepo.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112) at com.entagen.jenkins.Main.main(Main.groovy:30) :syncWithRepo FAILED
所以它要求匹配的 templateJobPrefix 和 templateBranchName 但我实际上不知道我应该如何定义 JobPrefix 和 BranchName。当我将模板作业名称定义为 test_template-master 时,我希望它将 test_ 作为前缀,将 master 作为分支,但它似乎不是这样工作的。
谁能举例说明它应该如何工作?作业名称应该如何定义?
你的正则表达式说它应该以 test
开头,然后是 _-
。我在你的名字中没有看到 "underscore, hyphen"。