【问题标题】:Configuring Java version for TeamCity为 TeamCity 配置 Java 版本
【发布时间】:2018-08-10 11:07:54
【问题描述】:

我们在 OpenSuse 机器上安装了 TeamCity。 TeamCity 的版本是 9.1.3。

我已经在服务器上安装了 JDK 1.8,但我没有将它用作默认 Java。我想更新每个代理以使用新的 JDK(版本 8)构建,如果所有代理的更新都成功,那么我将尝试为整个系统升级 JDK。

我找不到一种简单的方法来运行具有特定 JDK 版本的代理或项目。我习惯使用 Jenkins,并且使用不同的 JDK 进行构建非常容易。

我查看了 Team city 文档,但找不到任何真正的说明,我们如何将特定 Java 版本用于项目或代理。

有什么帮助吗?

【问题讨论】:

  • 只需在每个代理或确认参数上创建一个环境变量JAVA_HOME=""
  • 仅导出 JAVA_HOME 可能还不够,我使用的一些 TeamCity 代理无法检测到系统上所有可用的 JDK。

标签: java jvm teamcity jetbrains-ide teamcity-9.0


【解决方案1】:

您要查找的页面是this one。正如高级 Pomidor 所说,指定该环境变量就足够了。

this page 描述了在代理上运行多个 jdk 以支持具有不同 Java 版本的构建。

【讨论】:

  • 感谢@wemu 的回答。我自己看到了那些页面。问题是,当我检查代理参数时,有一些错误的代理参数,例如 JDK_16 /usr/java/latest,在这种情况下,我安装的最新版本是 jdk18。我想找到定义这个的地方并改变它
【解决方案2】:

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

你也可以在你的源代码中设置环境 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

【讨论】:

    猜你喜欢
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2017-11-15
    相关资源
    最近更新 更多