Recs.
Updated
TeamCity is a continuous integration solution written in Java from JetBrains, the free version offers a generous amount of 100 build configurations and 3 concurrent builds.
The following VCSs are supported by TeamCity out-of-the-box: Git, Subversion, Mercurial, Perforce, Team Foundation Server, CVS, StarTeam, ClearCase, SourceGear Vault, Visual SourceSafe.
Read article Creating a New Project With TeamCity.
Also watch video What's new in TeamCity 2020.2.
SpecsUpdate
Pros
Pro Cross-platform build support
The fact that it is based on Java does not hinder TeamCity's ability to support different build environments. TeamCity in fact supports a large number of languages and tools for each of those languages (build runners and test frameworks).
Some of the languages/platforms that are supported include: Ruby, .NET, Java.
Pro Best choice for .NET
Seems to be the best choice for .NET applications, it even has a C# script runner (needs .NET 6.0).
Pro Snyk plugin
Snyk plugin available for security scanning. However Snyk is not of much use for .NET projects, it only scans NuGet links.
Pro Cross-Platform Builds
The fact that it's based on Java does not hinder it's capability to support different build environments. TeamCity supports a large number of tools and languages, see: Supported Platforms and Environments.
Cons
Con Windows service configuration
Although installation is easy, there is one tricky step: the selection of the Windows service user. Choosing 'System' here mostly leads to building problems, so it is advisable to choose an Administrator user, be sure you have granted this user Windows service rights at forehand (not default in Windows Server).
Recommendations
Comments
Flagged Pros + Cons
Con Projects and configurations are not kept under VCS
TeamCity does not keep projects and configurations under Version Control. This means that deploying older revisions of a project is almost impossible in TeamCity.
Out of Date Pros + Cons
Con Does not work on Apple Silicone chips
Does not start on a M1 Pro - neither inside a docker container, nor from a local setup.
Con No conditional build steps
Conditional build steps are not yet possible, but announced in TeamCity 2020.
See: How to run a build step conditionally in TeamCity.