Я пытаюсь выполнить TeamCity агент сборки (по умолчанию) с 32-разрядным Java на 64-разрядной человечности, я создал [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 запускается', я получаю это:
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, но агент сборки выполняет Java, найденный в '/usr/bin' (который является 64-разрядным в моем случае).
Более близкий контроль' [buildAgent]/bin/findJava.sh', похоже, что сценарий работает, 'который Java' и находит систему по умолчанию Java, прежде чем он даже попробует любой из предоставленных args/folders. Я думаю, что это должно найти' [buildAgent]/jre' перед системой Java.
Что корректный путь состоит в том, чтобы указать версию Java для использования для агента сборки, который может быть другой версией, чем сервер?
Я должен просто изменить findJava.sh для проверки его аргументов прежде, чем проверить системный путь на Java?
На странице настроек проекта необходимо установить JDK-версию buildAgent.
Указанные вами JRE-версии предназначены для сервера Teamcity. Если вы перейдете на страницу Редактирование настроек конфигурации проекта, то там находится ссылка Шаг сборки. На странице Build Step можно указать путь домой к JDK и JDK
.