我在詹金斯有一份梅文的工作。在实际构建步骤之前,我有一个“执行外壳”预构建步骤。在这个shell中,我设置了一个变量:
REVISION=$(cat .build_revision)
我想在“目标和选项”中的Maven构建作业中使用该变量:
clean install -Drevision=${REVISION}
但这是行不通的!“Drevision”设置为“${REVISION}”,而不是${REVISION}的实际值。输出:
Executing Maven: -B -f /home/gerrit/.jenkins/jobs/<job_name>/workspace/pom.xml clean install -Drevision=${REVISION}
它适用于Jenkins环境变量:
clean install -Dbuild=${BUILD_NUMBER}
它将“构建”设置为实际构建号。输出:
Executing Maven: -B -f /home/gerrit/.jenkins/jobs/<job_name>/workspace/pom.xml clean install -Dbuild=54
我的问题:如何在Maven“目标和选项”中使用shell变量??
编辑:
我尝试在预构建shell之后使用Jenkins EnvInject插件“注入环境变量”,现在我的变量可以通过后期构建shell访问,但在Maven的“目标和选项”中仍然不可用。
然后可以使用EnvInject插件设置“将环境变量注入构建过程”,这实际上使这些变量在Maven“目标和选项”中可用,但这些变量是在SCM签出之后,即在预构建步骤之前设置的,并且不支持表达式求值。
这个问题是由Jenkins Maven项目插件中的一个bug引起的,详细内容见2012年6月22日发布的bug报告。从2.1版开始,该插件尚未修复。
已经为Maven项目插件提出了一个修复方案,但尚未集成。这里是拉取请求的链接:https://github.com/jenkinsci/maven-plugin/pull/14
如果您使用应用的拉取请求补丁自己构建插件,变量将被注入并按预期提供给“目标和选项”字段。
我遇到了一个非常类似的问题,试图计算一个构建版本并将其注入到构建中。在遇到所有相同的问题(不展开等)之后,我使用了“从脚本生成环境变量”选项,该选项将输出解释为将tag=value对转换为Jenkins变量。剧本:
#generate a version code that is high enough to surpass previously published clients
val=`expr 150000 + $BUILD_NUMBER`
echo VERSION_CODE=$val
在此之后,我能够将$VERSION_代码注入maven,如下所示:
-Dbuild.vercode=${VERSION_CODE}
希望对你有用。
您在正确的轨道上,但错过了EnvInject-Plugin的第三个特性:“注入环境变量”构建步骤,该步骤可以根据脚本或属性的结果将变量注入到后续构建步骤中。
我们使用EnvInject插件就像这样;脚本设置资源并使用属性通信其参数,然后插件将这些属性作为环境变量传播。
null 我已经在“Manage Jenkins”-->“Configure System”下配置了Maven设置。 当我在“预步骤”部分创建“调用顶级Maven目标”步骤时,所有工作都按照预期进行。在“目标”行中,我可以指定“-x”、“clean install”等,并且maven通过打印这些目标,例如: [DEBUG]正在从.../settings.xml读取全局设置 [DEBUG]正在使用.
我的项目结构如下: 是内的依赖项。 > 我应该在Jenkins中创建单独的作业来单独构建每个模块吗? 我为创建了一个作业,但出现以下错误(已将目标和操作设置为“清洁安装”: [INFO]扫描项目...[INFO] [INFO] ------------------------------------------------------------------------ [INFO]构建mypro
我已经为一个项目配置了SVN-Jenkins-Maven-Tomcat。小项目的每件事都很好。但当我试图构建包含大量JAR和包的实际项目时…它显示错误..找不到xxx包。我已经手动将依赖项JAR添加到本地maven存储库中。
我有一个Maven3项目。有两个主要的EJB模块,比如说A和B,还有一个超级POM。当前的构建过程生成一个。zip文件,它由两个。ear文件组成,即a.ear和b.ear文件。然后将此ZIP文件夹手动部署到WebSphere。我们使用的是WAS8.0。有多个配置文件,如test、dev、local。我们提到mvn中的配置文件名(使用-p),我们希望为其生成一个构建。 现在,我们的构建和部署过程应该
问题内容: 我已经在Eclipse IDE中创建了一个Aspectj项目,但是我需要使用Maven来构建它。 我有maven-aspectj插件,但不知道如何使用它。 问题答案: 以下是我执行此步骤的步骤。这给了我编译时的编织。如果您需要其他策略,显然您需要其他方法(例如用于运行时AOP代理的Spring AOP )。 添加一个属性以标准化您使用的AspectJ版本: 添加运行时依赖项: 添加As
我正在使用maven构建我的java项目,但未能成功。因此,任何人都可以告诉我pom中需要的基本标记及其相应值。xml来构建项目?此外,如何从命令行手动添加Storm依赖项? 我的项目目录结构: 最初,我尝试了Maven Link并创建了< code>pom.xml,如下所示: 但是,之后我使用< code>mvn package。它抛出这个异常: 之后,我使用这个链接Maven link 2并创