The Ant build runner can process Ant
Testing Frameworks Support
The TeamCity Ant runner supports the JUnit and TestNG frameworks. When tests are run by the
testng tasks directly within the script, TeamCity reports tests on the fly.
By using the
<parallel> tag in your Ant script, it is possible to have the JUnit and TestNG tasks run in parallel. TeamCity supports this and should concurrently log the parallel processes correctly.
Reporting and Logging
TeamCity collects detailed data from Ant as to the performed activities, provides structured error reporting, and reports tests. However, you can start a build with no specific reporting or to turn off TeamCity-specific logging:
To disable TeamCity-specific reporting in Ant, use
teamcity.ant.listener.enabled=falsebuild configuration parameter
To disable JUnit reporting, use the
To disable TestNG reporting, use
Ant Runner Settings
Path to build.xml file
If you choose the option, you can type the path to an Ant build script file of the project. The path is relative to the project root directory. Alternatively, click to choose the file using the VCS repository browser.
Build file content
If you choose this option, click the Type build file content link and type the source code of your custom build file in the text area. Note that the text area is resizeable. Use the Hide link to close the text area.
Specify the build working directory if it differs from the checkout directory.
Use this text field to specify valid Ant targets as a list of space-separated strings. The available targets can be viewed in the web UI by clicking the icon next to the field and added by checking the appropriate boxes. If this field is left empty, the default target specified in the build script file will be run.
Ant home path
Specify the path to the distributive of your custom Ant. You do not need to specify this parameter if you are going to use the Ant distributive bundled with TeamCity.
Additional Ant command line parameters
Optionally, specify additional command line parameters as a space-separated list. For example, you can specify the ant-net-tasks Tool (see below).
The Ant build runner comes with a bundled tool, ant-net-tasks, which includes the jar files required for network tasks, such as FTP, sshexec, scp and mail.
It also contains missing link Ant task which can be used for REST requests.
To use the tool, specify
-lib "%teamcity.tool.ant-net-tasks%" in Additional Ant command line parameters of the runner settings.
Select a JDK. This section details the available options. The default is
JDK home path
The option is available when <Custom> is selected above. Use this field to specify the path to your custom JDK used to run the build. If the field is left blank, the path to JDK Home is read either from the
JVM command line parameters
Additional JVM command line parameters allow you to set initial and maximum heap sizes, enable additional logging, select the required bytecode verifier mode, and more.
You can specify both standard (begin with
To specify multiple command line parameters, use space as a separator. For example:
-verbose:gc -Xdiag -Xcomp -Xmx512m -Xms256m
Tests reordering works the following way: TeamCity provides tests that should be run first (test classes), after that, when a JUnit task starts, it checks whether it includes these tests. If at least one test is included, TeamCity generates a new fileset containing included tests only and processes it before all other filesets. It also patches other filesets to exclude tests added to the automatically generated fileset. After that JUnit starts and runs as usual.
Reduce test failure feedback time:
Use the following two options to instruct TeamCity to run some tests before others.
In this section, you can specify a Docker image which will be used to run the build step.
To learn about configuring code coverage options, refer to the Configuring Java Code Coverage page.
JUnit 5 Support
TeamCity Ant runner does not currently display tests under the "Tests" build result tab if these tests are declared in
<junitlauncher> tasks. Use
<junit> tasks instead or migrate your project to Gradle (the TeamCity Gradle runner fully supports JUnit 5).