Я пытаюсь запустить агент сборки TeamCity (по умолчанию) с 32-битной java на 64-битной ubuntu, я создал [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, но агент сборки запускает java, находящийся в '/ usr / bin' (который в моем случае является 64-битным).
При более внимательном рассмотрении '[buildAgent] /bin/findJava.sh' похоже, что сценарий запускает 'which java' и находит системную java по умолчанию еще до того, как он даже попробует любой из предоставленных аргументов / папок. Я думаю, он должен найти "[buildAgent] / jre" перед системным java.
Как правильно указать версию Java для использования для агента сборки, которая может отличаться от версии сервера?
Должен ли я просто изменить findJava.sh, чтобы проверить его аргументы, прежде чем проверять системный путь для java?
Вам необходимо установить JDK-версию buildAgent на странице настроек проекта.
Указанные вами версии JRE предназначены для сервера Teamcity. Если вы перейдете на страницу «Изменить параметры конфигурации» проекта, там будет ссылка «Шаг сборки». На странице Build Step вы можете указать домашний путь JDK и JDK.