2016-10-06 4 views
0

Я пытаюсь выполнить следующую работу, используя jenkins plugin, чтобы передать параметры в исходное задание. В качестве шага сборки я добавил следующую конфигурацию: the following configuration as a build step:. Верхняя работа завершается успешно, однако в работе вниз по течению, где я использую Дженкинс плагину для Docker сборки и толчка, он не принимает JBNAME:jenkins job triggering downstram job with paramenters not working

Building in workspace /home/jenkins/workspace/dockerbuild 
ERROR: Unrecognized macro '**JBNAME**' in 'url/repo/**${JBNAME**}' 
org.jenkinsci.plugins.tokenmacro.MacroEvaluationException:    Unrecognized macro 'JBNAME' in 'url/repo/**${JBNAME}**' 
at org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:207) 
at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:246) 
at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:232) 
at com.cloudbees.dockerpublish.DockerBuilder$Perform.expandAll(DockerBuilder.java:324) 
at com.cloudbees.dockerpublish.DockerBuilder$Perform.getImageTags(DockerBuilder.java:336) 
at com.cloudbees.dockerpublish.DockerBuilder$Perform.exec(DockerBuilder.java:305) 
at com.cloudbees.dockerpublish.DockerBuilder$Perform.access$100(DockerBuilder.java:291) 
at com.cloudbees.dockerpublish.DockerBuilder.perform(DockerBuilder.java:262) 
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) 
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) 
at hudson.model.Build$BuildExecution.build(Build.java:205) 
at hudson.model.Build$BuildExecution.doRun(Build.java:162) 
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) 
at hudson.model.Run.execute(Run.java:1720) 
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
at hudson.model.ResourceController.execute(ResourceController.java:98) 
at hudson.model.Executor.run(Executor.java:404) 
Build step 'Docker Build and Publish' marked build as failure 
Finished: FAILURE 

Когда я смотрю на параметрах ссылка на несостоявшейся странице сборки, поле пустое, оно не передавало никаких параметров, включая текущий или предопределенный: enter image description here Я потерян в данный момент. Мне действительно нужно передать имя задания вверх по течению в задание сборки докеров, чтобы сохранить правильное имя контейнера.

Большое спасибо!

ответ

0

Недавние версии Jenkins больше не допускают необъявленных параметров. См. Соответствующий security advisory.

В вашем случае вы, вероятно, можете просто объявить JBNAME в качестве параметра для последующей работы. То есть выберите Эта сборка параметризуется в конфигурации задания ниже по потоку и добавляет новый строковый параметр имени JBNAME.

+0

Благодарим вас за быстрый ответ. Похоже, сработало! Если я укажу его так, смогу ли я изменить значение с тем, которое определено в задании вверх по течению? Причина в том, что мне нужно использовать задание dockerbuild несколькими заданиями восходящего потока с разными значениями –

+0

Да, вы можете вызывать сборку любым значением из любого восходящего задания, если имя параметра совпадает (в вашем случае 'JBNAME') как в восходящем, так и в нижнем течении. – jil

+0

большое спасибо, его работа! –