Copy Artifacts Plugin上是否有任何文檔/示例,即「由構建參數指定」選項?如何在「鑽石加入」Jenkins構建管道中複製工件?
我試圖做一個「連接鑽石」管道,如在this SO question,並不能找出什麼把Parameter Name
選項的「從其他項目複製工件」生成步驟來複制我的工件正常。
我所有的工作都具有PL_BUILD_NUMBER
參數,我想用它來選擇哪個打造的文物從複製。
這個mailing list post表示參數必須是XML。所以我試過這個:
BUILD_SELECTOR=<SpecificBuildSelector><buildNumber>$PL_BUILD_NUMBER</buildNumber></SpecificBuildSelector>
但它沒有工作。我在日誌中得到這個異常:
java.lang.NullPointerException
at java.io.StringReader.<init>(Unknown Source)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1035)
at hudson.plugins.copyartifact.BuildSelectorParameter.getSelectorFromXml(BuildSelectorParameter.java:80)
at hudson.plugins.copyartifact.ParameterizedBuildSelector.getBuild(ParameterizedBuildSelector.java:52)
at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:280)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:772)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:160)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:535)
at hudson.model.Run.execute(Run.java:1740)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:233)
我應該怎麼做?
另外還有「此版本的參數化 - >爲複製神器打造選擇」我不知道我是否應該使用它...
謝謝!
感謝您的回覆(順便說一句,如果您知道如何更清晰地更新標題,我沒有;))。我不確定我是否按照你最後的編輯方式進行:在我的「鑽石加入項目」測試中,我有4份工作。所有作業可以有不同的BuildNumber(因爲失敗,異常終止等),PL_BUILD_NUMBER只是管道初始作業的內部版本號,我手動將它傳遞給所有作業,所以很可能,PL_BUILD_NUMBER是* not * BuildNumber從中複製工件的工作。我將編輯問題以更好地反映這一點。 – dstj 2014-08-27 17:16:30
那麼,你確實需要'BUILD_NUMBER'作品你想要複製的工件。如果你的管道是同步的,你可以使用「Last successful build」。或者,如果通過參數化觸發器插件觸發下游作業,則可以將'BUILD_NUMBER'傳遞到下游 – Slav 2014-08-27 17:22:12
如果要在**作業'2'和'3'中複製工件**,則可以使用「觸發的上游構建這份工作「的選擇。但是你不能在'4'這個工作中使用它(就像你在引用問題中發現的那個人一樣)。這一切都取決於你如何觸發下游工作,以及你需要這些。 – Slav 2014-08-27 17:27:16