我想根据解析来解析jenkins中的工件名称及其版本我需要在当前项目之前触发其他构建作为预构建。我怎么能在jenkins中做到这一点,我找不到任何可以将pom的工件作为变量提供的插件。如果没有编写任何脚本代码,有没有办法做到这一点?
答案 0 :(得分:1)
简短回答:不,不是没有编写自己的插件。
使用jenkins插件的quickstart原型和你生成的插件的perform方法:
@Override
public boolean perform( AbstractBuild build,
Launcher launcher,
BuildListener listener) {
您可以通过以下方式访问信息:
for (Iterator iterator = build.getProject().getAllJobs().iterator(); iterator.hasNext();) {
Job currentJob = (Job) iterator.next();
if (currentJob instanceof MavenModuleSet) {
MavenModuleSet mms = (MavenModuleSet) currentJob;
for (Iterator iter = mms.getModules().iterator(); iter.hasNext();) {
MavenModule currentModule = (MavenModule) iter.next();
currentModule是你的root pom.xml中的模块,请记住jenkins中的名称 currentModule.getName 是 NOT 工件名称至于maven规格,但 groupid:artifactid 代替。
答案 1 :(得分:0)
你可以通过将POM变量作为Jenkins环境变量来获得它。 然后使用$ variablename在任何地方访问pom内容。