However, note that the total number of agents started by all images cannot exceed the limit set in the profile settings (and the number of agents permitted by your license). In TeamCity, build agents are distributed agents responsible for executing the actual build and deployment processes defined in your build configurations. These agents perform tasks such as compiling code, running tests, packaging applications, and deploying artifacts. Configuring a cloud provider profile is one of the steps required to enable agent cloud integration between TeamCity and a cloud provider. This image can be referenced by a unique AMI ID and reused by multiple build configurations.
The URL that the agents cloned from the image will use to connect to the TeamCity server. If this field is left empty, agents will use the TeamCity server URL specified on the Administration | Global Settings page. The following Kotlin snippet illustrates a sample DSL configuration for a cloud profile that uses locally stored credentials and includes three images with different settings. After you have configured an image, TeamCity winds up one test agent for this image to test whether it can start and connect to the server. When an agent is connected and authorized, TeamCity saves its parameters to correctly assign builds to compatible agents.
Estimating Traffic
This page covers general information on how to configure this integration. For the list of currently supported solutions, refer to Available Integrations. For more details please refer to the TeamCity Cloud page on our website and the TeamCity Cloud FAQ. And please don’t hesitate to contact us if you have additional requirements or would like to discuss an enterprise evaluation. The old name format will be preserved as an easy and short alias to a default OS version.
See Developing TeamCity Plugins for more information on plugin development. The build progress can be reported to TeamCity via service messages and build status text can also be updated. For an advanced integration a custom TeamCity plugin can be developed in Java to ease tool configuration and running. When a cloud teamcity cloud agent is in maintenance mode, terminate conditions will not work. If you use Kotlin DSL for your TeamCity project settings, you need to update your DSL after upgrading as described here. To ensure a smooth transition, we encourage you to gradually start adopting new agents using the recommended methods above.
Enabling/disabling Cloud Integration in Project
If the tool reports code-attributing information like Inspections or Duplicates, TeamCity-bundled report can be used to display the results. A custom plugin will be necessary to process the tool-specific report into TeamCity-specific data model. Example of this can be found in XML Test Reporting plugin and FXCop plugin (see a link on the Bundled Open-Source Plugins page).
- We’ve seen patterns of having an agent per each 20 build configurations (types of builds).
- Build Cache will help you optimize your CI/CD runtime by downloading the files that your build depends on once and then reusing them within the project.
- Next, you need to provide the cloud access information which will differ depending on the provider.
- When estimating traffic, remember that there are many types of traffic related to TeamCity (see the non-complete list below).
We’ve also enhanced a number of TeamCity integrations, including Perforce Helix Swarm and Space, among other features. Thanks to this feature, stored permissions in TeamCity don’t have to be coupled to specific Space user credentials but rather to applications that act as a service account. Please also review the section for a list of directories that can be deleted without affecting builds consistency. This section covers the configuration of a proxy server for TeamCity agent-to-server connections. New integrations can be implemented as a TeamCity plugin, see Implementing Cloud support.
TeamCity now supports refreshable tokens for Space and brings a new type of connection on the project level with Space. TeamCity has multiple features to handle orchestration part of the deployments with the actual deployment logic configured in the build script / build runner. TeamCity supports a variety of generic build tools, so any specific tool can be run from within TeamCity. To ease specific tool usage, it is possible to wrap it into a meta-runner or write a custom plugin for that. TeamCity Agent autoupgrades whenever the agent distribution or agent plugins change on the server. If you want to reduce the agent startup time, it might make sense capturing a new virtual machine image after each TeamCity Server upgrade.
This greatly simplifies the login process while still ensuring security. You can now reference the latest created AMI with a given tag value or combination. This means that, if you update the image, it will automatically be used by all compatible project/build configurations. Cloud providers calculate costs based on the virtual machine uptime, so it is recommended to adjust the timeout setting according to your usual builds duration.
A cloud profile is a collection of settings for TeamCity to start virtual machines with installed TeamCity agents on-demand. Prior to TeamCity 2017.1, profiles are configured on the TeamCity | Administration | Agent Cloud page. In the later versions, cloud profiles are configured at the project level, on the dedicated page of project settings. A cloud profile is a collection of settings for TeamCity to start virtual machines with installed TeamCity agents on-demand while distributing a build queue. Profiles allow TeamCity to automatically scale the number of active build agents depending on the current workload. Once agents are connected, TeamCity calculates their build configurations-to-agents compatibility and stores this information.
When a build is queued, TeamCity attempts to run queued builds on regular (non-cloud) agents first. If none are currently available, TeamCity finds a compatible cloud image and (if the limit of simultaneously running instances is not yet reached) starts a new instance. After you have created a required instance or AMI, you can set up cloud profiles in TeamCity UI. It would be wonderful if starting building for ARM was as simple as copying an existing x86-specific configuration and just changing a required agent. However, the ARM environment is different, and your software and build configurations might need adjustment.