JetBrains has pushed out the latest version of its TeamCity continuous integration and deployment (CI/CD) platform, adding many new features such as new build runners for Kotlin and Node.js, improved integration with Perforce, and build triggers to enable new workflows.
TeamCity 2021.1 introduces a new Kotlin Script build runner that works on all platforms supported by TeamCity and is perfect for scripting build tasks such as custom checks or sending service messages, according to JetBrains. By default, TeamCity will run it using Kotlin 1.5.0, but developers can install any other compiler version if they wish.
TeamCity 2021.1 also brings further integration with the Perforce application lifecycle management platform, including a simplified setup for commit hooks. Developers can now have their builds automatically triggered by installing just a single script on the Perforce server. Meanwhile, a new Perforce Administrator Access connection allows project administrators to clean up workspaces on the Perforce server right from within the TeamCity user interface. An automated clean-up is also supported.
According to JetBrains, build triggers in this release now support custom parameters to enable or disable build steps. You can also change what happens inside build scripts. This might allow for scheduled builds to be different from the builds triggered by version control check-ins, yet be within the same build configuration.
Users are no longer limited to one VCS trigger per build configuration. TeamCity now allows adding multiple triggers with different rules and with different branch filters. This might be used to build the release branch code immediately after a commit, for example, while other branches wait for a quiet period.
High availability has also been addressed in TeamCity 2021.1 with a new “Main TeamCity node” responsibility. This can be transferred from the main node to a secondary node in runtime. If the main server goes down for any reason, such as a maintenance period, its main role and all the responsibilities can be promptly assigned to another server. When the original main server restarts, it will come back online as a secondary node.
Security has also been enhanced through the ability to create access tokens that are time limited or have limited permissions. This means that scripts that interact with the TeamCity API can be given just enough access to do the job they were created for, rather than being granted the same permissions as the current user.
These are just some of the new features introduced in TeamCity 2021.1. For a full list of changes, users should refer to the TeamCity documentation.