TeamCity在linux上为buildAgent默认为jdk

前端之家收集整理的这篇文章主要介绍了TeamCity在linux上为buildAgent默认为jdk前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在ubuntu 64位上使用32位 java运行TeamCity(默认)构建代理,我创建了一个[TeamCity] /bin/setenv.sh包含:
JAVA_HOME=/usr/lib/jvm/ia32-java-6-sun

这可以很好地运行32位jre的服务器,但不适用于代理:我在[buildAgent] /conf/buildAgent.properties中尝试过这些行

JAVA_HOME=/usr/lib/jvm/ia32-java-6-sun
JRE_HOME=/usr/lib/jvm/ia32-java-6-sun/jre

还有'[buildAgent] / jre’链接

[buildAgent]/jre -> /usr/lib/jvm/ia32-java-6-sun/jre/

当我做'[TeamCity] /bin/runAll.sh start’时,我得到了这个:

Using CATALINA_BASE:   /srv/TeamCity
Using CATALINA_HOME:   /srv/TeamCity
Using CATALINA_TMPDIR: /srv/TeamCity/temp
Using JRE_HOME:        /usr/lib/jvm/ia32-java-6-sun
Using CLASSPATH:       /srv/TeamCity/bin/bootstrap.jar:/srv/TeamCity/bin/tomcat-juli.jar
Starting TeamCity build agent...
Java executable is found in '/usr/bin/..'.
Starting TeamCity Build Agent Launcher...
Agent home directory is /srv/TeamCity/buildAgent
Current Java runtime version is 1.6
Lock file: /srv/TeamCity/buildAgent/logs/buildAgent.properties.lock
Using no lock
Done [16436],see log at ../logs/teamcity-agent.log

输出中可以看出,服务器使用的是32位jdk,但构建代理正在运行’/usr/bin’中找到的java(在我的情况下是64位).

仔细检查'[buildAgent] /bin/findJava.sh’,它看起来像脚本运行’哪个java’并在它甚至尝试任何提供的args /文件夹之前找到默认的系统java.我认为它应该在系统java之前找到'[buildAgent] / jre’.

什么是指定用于构建代理的Java版本的正确方法,构建代理可能与服务器的版本不同?

我应该在检查java的系统路径之前修改find​​Java.sh来检查它的参数吗?

解决方法

您需要在项目的设置页面中设置buildAgent的JDK版本.

您指定的JRE版本适用于Teamcity服务器.如果您转到项目的“编辑配置设置”页面,则会显示“构建步骤”链接.在Build Step页面中,您可以指定JDK和JDK主路径.

猜你在找的Linux相关文章