配置 TeamCity 的 Java 版本

8
我们在一个OpenSuse机器上安装了TeamCity,版本为9.1.3。
我已经在服务器上安装了JDK 1.8,但我并没有将其作为默认Java使用。我想更新每个Agent以使用新的JDK(版本8),如果所有agent的更新成功,则尝试为整个系统升级JDK。
我找不到一种简单的方式来运行特定JDK版本的代理或项目。我习惯于使用Jenkins,在那里很容易使用不同版本的JDK进行构建。
我查看了Team City的文档,但找不到任何真正的说明如何为项目或代理使用特定的Java版本。
有什么帮助吗?

1
只需在每个代理或设置参数上创建一个名为JAVA_HOME = ""的环境变量即可。 - Senior Pomidor
仅导出JAVA_HOME可能不够,我所使用的一些TeamCity代理无法检测到系统上所有可用的JDK。 - MathPlayer
2个回答

4
你要找的页面是这个。正如Senior Pomidor所说,只需指定该环境变量即可。
在代理上运行多个jdk以支持不同Java版本的构建,请参见此页面的说明。

1
感谢@wemu的回答。我已经自己看了那些页面。问题在于当我检查代理参数时,存在一些错误的代理参数,比如JDK_16 / usr / java / latest,在这种情况下,我的安装最新版本是jdk18。我想找到定义它的地方并进行更改。 - Govan

3
在您的构建配置中,运行按钮旁边有三个点。在参数选项卡下,您可以传递自定义的构建参数。

enter image description here

你也可以在你的源代码中设置环境bash脚本,覆盖默认设置。
#!bin/bash
echo "##teamcity[setParameter name='env.JAVA_HOME' value='/usr/lib/jvm/java-11-openjdk-amd64']"

将此脚本作为构建步骤的一部分包含 在此输入图像描述
file=%system.teamcity.build.checkoutDir%/teamcityEnv.sh
echo "File : $file"
if [ -e "$file" ]
then
    echo "teamcityEnv file: '$file' found. Setting up the Env variables"
    sh $file
else
    echo "teamcityEnv not found. Skipping env setup"
fi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接