If you can run the tool from a command line console, then you can run it in TeamCity with a command line runner. This will give you detection of the messages printed into standard error output. The build can be marked as failed is the exit code is not zero or there is output to standard error via build failure condition.
Powered by the latest AWS Graviton3 processors, they also boast better performance compared to the x86 versions. Previously, TeamCity Cloud offered JetBrains-hosted agents on Ubuntu 20.04 and Windows 2019. In the next two years, these OS versions will come to the end of their standard support timeline (January 2024 for Windows Server 2019 and April 2025 for Ubuntu 20.04). With Build Cache, you can significantly reduce your build time by reusing the files produced by the build. It’s especially useful if you need to download specific libraries and packages for the build to run. Using Build Cache in TeamCity will help you optimize resources and save on traffic and storage costs.
Interactive guides and template projects
The number of required build agents depends on the server usage pattern, type of builds, team size, commitment of the team to CI process, and so on. In general, the best way is to start with three agents and see how they handle the projects on your server, and then make estimations for the future. We’re introducing new types of JetBrains build agents to TeamCity Cloud.
Previously, an agent name consisted of an OS name and size, but our new agents don’t fit this model. The new format will include a specific OS name, version, size, and, optionally, architecture. Debugging such configurations gets even more complicated if your local machine has a different architecture. The good news is that TeamCity improves the user experience when undertaking this task. Both per-minute and per-month prices haven’t changed and are the same as for the older versions of agents of the same size. The set of preinstalled software and hardware specifications remain the same as for previous versions.
The recommended way to set up a build
In addition to Bitbucket Cloud, TeamCity now integrates with Bitbucket Server and Data Center. You can now add Bitbucket Server and Data Center as a connection type, as well as create new projects and build configurations from a Bitbucket URL. We’re introducing Build Cache to the list of build features in TeamCity.
The data collected by previous build is stored under work and system directories. Keep in mind that communication between the TeamCity agent and server requires opening ports on both the agent and the server. Cloud profiles are configured in the Cloud Profiles section of the Project Settings. This means that TeamCity will prefer these versions when it picks teamcity cloud up an agent for a build in case another version is not selected with explicit agent requirements. To handle the intensive computations and tests, Large and XLarge Windows agents are now available. Compared to the Medium machines, vCPU count, RAM size, and fast SSD storage are double for Large agents, and XLarge ones have four times more resources.
If this machine is unavailable, TeamCity will switch to the next available option, and so on. When estimating traffic, remember that there are many types of traffic related to TeamCity (see the non-complete list below). TeamCity Server is a web application responsible for the core functionality of TeamCity. It provides a user interface, distributes the jobs (builds) to TeamCity agents, and aggregates their results.
- The new agent types include new ARM Linux machines and the latest versions of the Ubuntu and Windows operating systems.
- If this machine is unavailable, TeamCity will switch to the next available option, and so on.
- You are also very welcome to sign up for the TeamCity Cloud Release Event taking place on May 4.
- Provided these requirements are met, the usual TeamCity agent installation and cloud-provider image bundling procedures are applicable.
- If you want TeamCity to create and start virtual machines from an image and terminate the machine after use, the image should be captured from the virtual machine that was created.
If the tool has launchers for any of the supported build scripting engines like Ant, Maven or MSBuild, then you can use corresponding runner in TeamCity to start the tool. See also Use an External Tool that My Build Relies on for the recommendations on how to run an external tool. Note that the charges can depend on the specific configuration implemented to deploy TeamCity. ℹ️ You can find the full list of software installed on build agents in our documentation. You can enable or disable integration for a project and/or its subprojects via the TeamCity web UI using the Change cloud integration status option on the Cloud Profiles page. New Ubuntu ARM agents complement the platforms that JetBrains agents facilitate builds for.
To present the results for a generic report, the approach might be to generate HTML report in the build script, pack it into archive and publish as a build artifact. Then configure a report tab to display the HTML report as a tab on build’s results. On the other hand, developers continue to say that waiting for feedback from their CI tool is one of the most time-consuming parts of their job. Please watch/comment the issue related to sharing a build number TW-7745. We are confident that TeamCity Cloud is ready to be at the heart of the development process in almost every environment. But if you feel that we’re absolutely missing anything, please let us know.
Once you’ve done that, you can start configuring Build Cache on the build configuration level. To set up Build Cache rules for a specific project, navigate to Build configuration | Edit configuration | Build features | Add build feature | Build Cache (Experimental). We’ve seen patterns of having an agent per each 20 build configurations (types of builds). If you want TeamCity to start an existing virtual machine and stop it after the build is finished or an idle timeout elapses, the setup above is all you need. If you want TeamCity to create and start virtual machines from an image and terminate the machine after use, the image should be captured from the virtual machine that was created.