在执行 maven 之前设置环境变量(在 jenkins 构建中)

Posted

技术标签:

【中文标题】在执行 maven 之前设置环境变量(在 jenkins 构建中)【英文标题】:Set environment variable before executing maven (In a jenkins build) 【发布时间】:2013-10-10 04:45:57 【问题描述】:

我正在一台机器上设置一个 jenkins 从站,该机器应该构建一个包含一些本机 C 代码的 maven 项目。然而,机器本身被证明是一个问题。 这台机器托管了一个相当老的程序,它使用了很多环境变量,比如 JAVA_HOME,maven 需要这些环境变量才能正常运行。 为了在从机上运行maven,我需要设置这些环境变量,在执行maven之前,或者maven,其他依赖,比如ssh,都不会运行。我不能只是永久更改变量,所以我需要一种在执行 maven 构建之前更改环境变量的方法。

我可以通过在执行 mvn 之前设置环境变量来手动执行构建,构建就像一个魅力。但我需要 jenkins 来自动触发构建。

正如我所见,我需要: 配置jenkins在执行maven前设置环境变量 要么 配置 maven 使用特定值而不是某些环境变量(这样 jenkins 可以处理执行)

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

有很多选择。

配置节点设置环境变量(在节点属性下,勾选“环境变量”) 对于工具,Jenkins 自己设置了必要的环境。在节点配置中,您可以为主配置中配置的工具设置不同的路径(在节点属性下,检查“工具位置”),我相信您不需要插件来拥有此选项。 使用EnvInject plugin(Setenv Plugin 已弃用) 使用Envfile Plugin 在手动启动 Maven 之前设置环境变量。您需要在同一个构建步骤中拥有两者。 (最坏的解决方案) 创建仅在该特定节点上有效的 java/maven 配置并在您的工作中使用它。仅当您的作业仅在您的特殊节点上运行而不在其他任何地方运行时,这才有效。

我建议第一个或第二个选项

【讨论】:

【参考方案2】:

我想 Jenkins 可能支持通过 UI 设置环境变量以进行作业配置。如果没有,您当然可以编写一个脚本来设置您的环境,并让 jenkins 在运行您的构建作业时执行该脚本。

【讨论】:

是的,Jenkins 支持几种不同的方式来设置环境变量。 感谢@PeterSchuetze 的帮助!

以上是关于在执行 maven 之前设置环境变量(在 jenkins 构建中)的主要内容,如果未能解决你的问题,请参考以下文章

Maven IntelliJ IDEA设置

springboot之相关环境设置

安装eclipse后需要 设置环境变量吗??

Maven--Maven 安装最佳实践

环境变量

使用 Maven 的环境变量