在处理POM之后,Jenkins构建有什么方法可以知道项目的Maven版本号吗?
我有一些项目由Maven控制版本控制,在构建后的工作中,我们想创建一个Debian软件包并调用一些shell脚本。我需要的是Maven以前可以用作Jenkins环境变量的版本号,因此我可以将其传递给构建后操作。
需要明确的是,我 没有 需要知道如何让詹金斯版本号传递到Maven的; 相反,我希望Maven将版本号传递给Jenkins!
经过大量的挖掘(我从未意识到Jenkins的文档记录多么糟糕!),我找到了一个非常简单的解决方案。
Post Step
到您的Maven构建类型Execute **system** Groovy script
脚本:
import hudson.model.*;
import hudson.util.*;
def thr = Thread.currentThread();
def currentBuild = thr?.executable;
def mavenVer = currentBuild.getParent().getModules().toArray()[0].getVersion();
def newParamAction = new hudson.model.ParametersAction(new hudson.model.StringParameterValue("MAVEN_VERSION", mavenVer));
currentBuild.addAction(newParamAction);
MAVEN_VERSION
现在可以使用通常的方式(${MAVEN_VERSION}
)将称为的构建环境变量替换为其他构建后步骤。我正在将它用于Git标记等。
当存在依赖关系时,在ivy.xml中定义,例如: 在构建中.xml,我让常春藤检索它。然后,它会下载一个名称中包含版本 ID 的文件。例如,库/我的包-6.0.0.zip 我如何知道版本(6.0.0)或我的ANT构建中的全名,而不用手动/去重复ivy.xml中的版本? 我希望能够做这样的事情:
问题内容: 如何从JavaFX中的中获取所选项目? 我目前正在使用 但这并没有给我返回选择模型中的一个选择项。 问题答案: 好的,假设您有一个名为的数据模型类。这条路: 请注意,必须使用a 作为类型参数以避免转换: 要么 选择行后,您将返回一个实例。然后对该实例执行任何您想要的操作。
AEM多模块项目具有。我们可以在那个级别更改版本,新的构建将显示具有更新版本的工件。 对于版本,将为每个版本创建一个新的AEM包。我们希望在安装新版本之前卸载/删除旧包。 问题是,如何在CI-CD作业中处理旧软件包的卸载/删除部分(要安装的新软件包版本不同)?我们可以考虑以下解决方案 查询软件包列表以获取版本并使用该版本卸载。 在"用参数构建"中将版本作为参数传递给Jenkins作业。但是代码签入
问题内容: 我希望能够将iOS项目/应用程序的当前版本作为对象,而不必在文件中的某个位置定义常量。我不想在2个地方更改版本值。 当我在“项目”目标摘要中更改版本时,需要更新该值。 问题答案: 您可以获取版本和内部版本号,如下所示: 或在Objective-C中 我在以下类别中具有以下方法: 要点: https : //gist.github.com/ashleymills/6ec9fce6d7ec
我对jenkins的带有声纳的ant项目的配置有问题。要在Jenkins建立带有声纳的ant项目,需要指示属性:sonar.project版本、sonar.project名称、sonar.project密钥、sonar.binaries、sonar.libraries和sonar.sources.我想知道是否可以在文件build.xml或build.properties中建立项目版本和项目名称,并
Project的构建没有任何错误,但是当我进入exploper并查找文件夹时,它没有生成。我尝试清理和构建,无效缓存和重新启动,但它不起作用。如何获取r.java文件? 这是构建日志 我在下面提到了这样的线程,并尝试了一切,但没有任何工作。 这个有什么已知的bug吗?