What is most valuable?
- Ease of configuring complete build chains with the use of build templates
- Creating a single custom build runner that allows us to have a single entry point and filter steps by arguments for all our builds
- The ability to trigger subsequent builds in a chain based off of multiple types of triggers in a deterministic fashion
How has it helped my organization?
Creating a meta-runner to use as a single build entry point. The templates allow a consistent configuration on how an application is built, and by combining the use of the meta-runner and build templates, the whole organisation understands, and follows, this convention. By following this convention, a complete build stack is completed in a single REST call.
What needs improvement?
- Client side load as projects/builds with a lot of test history, and branches can take quite a bit of time to load
- It would also be nice to have a conditional build step: https://youtrack.jetbrains.com/issue/TW-17939
- Having project templates
For how long have I used the solution?
I used it for three years.
What was my experience with deployment of the solution?
You shouldn't use TeamCity as a deployment tool.
What do I think about the stability of the solution?
As versions progress, TeamCity has greatly improved it's stability with it's resourcing. Also following JetBrains' documentation about how to set up TeamCity, distributes load in a more even fashion.
What do I think about the scalability of the solution?
There have been times when making copies of a project has caused major stability issues, especially when you have nested project structure based off of different build configuration templates.
How are customer service and technical support?
I've never needed to deal with customer service. Technical Support
YouTrack has been a great forum to raise/track issues.
Which solution did I use previously and why did I switch?
We previously used CC.Net. TeamCity provided a much easier method of configuration as well as templating over CC.Net.
How was the initial setup?
If you want just a basic setup, it is extremely straightforward. If you require optimizations such as I/O distribution, you will need to do a little bit more work.
What about the implementation team?
We implemented it in-house.