GoCD Agent 无法识别 JAVA_HOME 环境变量
GoCD Agent does not recognize JAVA_HOME environment variable
我正在使用 GoCD 测试持续交付管道。服务器和代理位于 Oracle Java 8.
提供的单独 Docker 容器中
我设置了一个测试任务,检查我的 Git 存储库并使用 maven 进行编译。作为测试命令,我使用了一个简单的 mvn clean build
。
当我开始任务时,我得到以下失败的构建结果:
07:50:59.395 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project xxxxx: Compilation failure
07:50:59.395 [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
当我在容器内本地 运行 mvn
命令时,一切正常。经过长时间寻找解决方案后,我发现了有关 Java 和 Maven 环境变量问题的提示。
在这两个系统上,这些变量的输出似乎都是正确的:
go@d86b9572ed7e:/tmp$ echo $M2_HOME $JAVA_HOME
/usr/share/maven /usr/lib/jvm/java-8-oracle
我最终得到的最终解决方案是将 $JAVA_HOME
变量设置为 GoCD 服务器中的环境变量作为管道的设置。然后,一切正常,但我真的不明白为什么代理不获取系统变量。
代理有一个用于执行作业和任务的配置文件。默认位置是:/etc/default/go-agent
添加
export JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
到这个文件。
您还可以在管道和阶段中指定环境变量。如果您对阶段使用通用模板,则可以在那里定义 JAVA_HOME。
我正在使用 GoCD 测试持续交付管道。服务器和代理位于 Oracle Java 8.
提供的单独 Docker 容器中
我设置了一个测试任务,检查我的 Git 存储库并使用 maven 进行编译。作为测试命令,我使用了一个简单的 mvn clean build
。
当我开始任务时,我得到以下失败的构建结果:
07:50:59.395 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project xxxxx: Compilation failure
07:50:59.395 [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
当我在容器内本地 运行 mvn
命令时,一切正常。经过长时间寻找解决方案后,我发现了有关 Java 和 Maven 环境变量问题的提示。
在这两个系统上,这些变量的输出似乎都是正确的:
go@d86b9572ed7e:/tmp$ echo $M2_HOME $JAVA_HOME
/usr/share/maven /usr/lib/jvm/java-8-oracle
我最终得到的最终解决方案是将 $JAVA_HOME
变量设置为 GoCD 服务器中的环境变量作为管道的设置。然后,一切正常,但我真的不明白为什么代理不获取系统变量。
代理有一个用于执行作业和任务的配置文件。默认位置是:/etc/default/go-agent 添加
export JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
到这个文件。
您还可以在管道和阶段中指定环境变量。如果您对阶段使用通用模板,则可以在那里定义 JAVA_HOME。