Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Configuring Java version for TeamCity

We have installed TeamCity on an OpenSuse machine. the version of TeamCity is 9.1.3.

I have installed JDK 1.8 on the server but I am not using it as default Java. I want to update every Agent to build with new JDK (version 8) and if update was successful for all of agents then I will try to upgrade JDK for whole system.

I couldn't find an easy way for running an agent or project with specific JDK version. I am used to with Jenkins and there it was pretty easy to use different JDK for builds.

I looked at Team city documentation but couldn't find any real instruction how can we use an specific Java version for a project or agent.

Any help?

like image 200
Govan Avatar asked Mar 02 '18 08:03

Govan


2 Answers

The page you are looking for is this one. As Senior Pomidor said its enough to specify that environment variable.

Running several jdk's on an agent to support builds with different java versions is described on this page.

like image 82
wemu Avatar answered Sep 20 '22 13:09

wemu


In your build configuration run three dots next to run button. Under the parameters tab, you can pass custom build parameters.

enter image description here

You can also have set environment bash script in your source code which overrides

#!bin/bash
echo "##teamcity[setParameter name='env.JAVA_HOME' value='/usr/lib/jvm/java-11-openjdk-amd64']"

Include this script as part of build steps enter image description here

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
like image 23
Vihaan Verma Avatar answered Sep 20 '22 13:09

Vihaan Verma