Book Image

TeamCity 7 Continuous Integration Essentials

By : Volodymyr Melymuka
Book Image

TeamCity 7 Continuous Integration Essentials

By: Volodymyr Melymuka

Overview of this book

<p>Nowadays, Agile application development is usually done at a fast pace when many developers are working on the same piece of code. Every so often, this becomes a real challenge if there&rsquo;s no permanent control over consistency of the project source. It is often impossible to force lazy and/or busy programmers to execute tests before and after each of their commits. Continuous Integration is a well-known life saver for distributed development environments with TeamCity being one of the best and easy-to-use instruments utilizing it. <br /><br />"TeamCity 7 Continuous Integration Essentials" is the first book of its kind showing in a sequential approach &mdash; how to start implementing Continuous Integration &mdash; over generic projects and enclosing rich features of the TeamCity as a project gradually evolves.<br /><br />Learn how to do a quick-start with TeamCity and suite most of the common needs right out of the box. As the project grows and more sophisticated requirements to the build process arise, the examples from this guide will assist you showing how to unleash TeamCity hidden powers and adjust advanced features to bring stability into the distributed development process.<br /><br />You will learn how to start a new Java project from scratch generating a working &ldquo;skeleton&rdquo; of web application using Apache Maven and later adding some business logic and writing certain tests. After that, you will know how to perform a swift attach of TeamCity facilities to your project and eventually change it into rich featured information source describing the current state of your venture. If you want to benefit from Continuous Integration and are considering using TeamCity then this book is for you.<br /><br />You will be acquainted with everything you need to know in order to apply Continuous Integration with TeamCity by installing it first, then turning on automatic supervision over project&rsquo;s reliability, and finally tuning up advanced settings in order to match your needs.</p>
Table of Contents (15 chapters)

Appendix A. Where to Go Next

No single book might be big enough to cover all required applications for Continuous Integration and the vast possibilities of TeamCity. There is still lots and lots of information that the user could find useful, including integration with powerful code inspection tools such as Sonar or issue management systems such as JIRA. It is possible to maintain the full project lifecycle starting from running basic "smoke" unit tests, followed up by integration and regression tests, up to the final production deployment with uses of TeamCity.

However the amount of information that we've managed to go through here is enough to start applying CI from scratch and keep continuously evolving it to meet your needs. So far we have learned:

  • What TeamCity is, why it is worth attention, and its terms and concepts.

  • How to create a simple project that could benefit from Continuous Integration. We've used Maven for source-code generation, written some unit tests, and committed all this into the version control system.

  • Ways to install and launch TeamCity server and its default build agent.

  • Basic configuration possibilities to start using TeamCity, ways to work with projects and build configurations, creating users, and configuring their notifications.

  • How to integrate TeamCity into two popular IDEs, namely IntelliJ IDEA and Eclipse.

  • How to make your project safer with remote runs, more convenient with templates, and smarter with multi-step builds.

  • Finally, we've had a good look at how to manage advanced notification options for users and groups, steps required to back up and restore your data collected by TeamCity, and the means to install additional build agents into the TeamCity server.

  • I hope this book helps you with starting to utilize the powers of Continuous Integration by means of TeamCity. Everything that is needed for a good start and consequent look at the right direction should be provided here. The more you know about TeamCity, the easier it gets to apply it according to your demands and receive all benefits of applying Continuous Integration. Links which could be useful for further learning are listed as follows:

  • The priceless source of information about every version of TeamCity can be found on the related Jetbrains website at http://www.jetbrains.com/teamcity/. From here you will be able to get a brief overview of TeamCity, read about features and what's new, and download the TeamCity installation bundle and/or plugins. All information concerning licensing and upgrading can be also found here.

  • A link to the online reference of the latest (currently) seventh version is http://confluence.jetbrains.net/display/TCD7/TeamCity+Documentation. Here you can find almost everything about TeamCity starting from the Getting Started tutorial, up to instructions on extending TeamCity by written plugins.

  • Don't miss the community forum for TeamCity located at http://devnet.jetbrains.net/community/teamcity and also an official TeamCity blog where you can find all the news on new version releases or some outstanding events related to TeamCity: http://blogs.jetbrains.com/teamcity/.

  • Should you find some bug in TeamCity or wish to request a certain new function, please use their issue tracking system at: http://youtrack.jetbrains.com/issues/TW.

All I can do now is wish you good luck with your current and future ventures. I hope this book will help your projects to be rock solid and prevent any unexpected and unwelcome surprises, such as uncompilable code in the main trunk or a sudden discovery of a failing test ahead of tomorrow's release to production. All of this comes along with a confidence in the steadiness of the development process utilizing the power of Continuous Integration provided by means of TeamCity.