You are previewing TeamCity 7 Continuous Integration Essentials.
O'Reilly logo
TeamCity 7 Continuous Integration Essentials

Book Description


Bring a new level of Quality Assurance to your application development by learning to utilize Continuous Integration using TeamCity. This totally practical tutorial is perfect for developers, QA engineers, and project managers.

  • Put Continuous Integration into operation with TeamCity, quickly and easily with this practical tutorial

  • Set automatic build checks and notifications according to your needs and configure multi-step builds with dependent and interrelated projects easily

  • Plug TeamCity either to existing on-going development or at the project’s very beginning

  • Perform fine-tuning adjustments of the TeamCity Server

  • In Detail

    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’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.

    "TeamCity 7 Continuous Integration Essentials" is the first book of its kind showing in a sequential approach — how to start implementing Continuous Integration — over generic projects and enclosing rich features of the TeamCity as a project gradually evolves.

    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.

    You will learn how to start a new Java project from scratch generating a working “skeleton” 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.

    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’s reliability, and finally tuning up advanced settings in order to match your needs.


    Table of Contents

    1. TeamCity 7 Continuous Integration Essentials
      1. Table of Contents
      2. TeamCity 7 Continuous Integration Essentials
      3. Credits
      4. About the Author
      5. About the Reviewer
        1. Support files, eBooks, discount offers and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Getting Started with TeamCity
        1. Continuous Integration
        2. Features
          1. Automatic and manual build triggering
          2. Pre-tested commit
          3. Instant notifications
          4. Code coverage and inspections
          5. Easy to verify code changes
          6. Configurable test reports
          7. Comprehensive build infrastructure
          8. Enhanced VCS integration
          9. Advanced features
        3. Terms and concepts
          1. Build agent
          2. Build artifact
          3. Build configuration
          4. Code coverage
          5. My Changes
          6. Notifiers
          7. Pre-tested commit (remote run)
          8. Project
          9. Version Control System
        4. Architecture
        5. Build lifecycle
          1. Scheduling to a build agent
          2. VCS specifics
            1. Server-side checkout
            2. Agent-side checkout
          3. Running the build
        6. Summary
      9. 2. Sample Project
        1. Creating the development environment
          1. Installing JDK
          2. Configuring your Windows environment
          3. Installing Maven
        2. Creating a sample project
          1. Generating source by Maven
          2. Installing IntelliJ IDEA
        3. Opening your project with IDEA
        4. Adding unit tests
          1. Creating some testable code
          2. Writing your first test
        5. Launching our application
        6. Summary
      10. 3. Preparing a Continuous Integration Environment
        1. Hardware requirements
          1. Build agent
          2. Server
        2. Installing TeamCity server
          1. Installing the Windows distribution
          2. Installing the Linux multi-platform distribution
          3. Installing from the WAR archive
        3. Installing the build agent
          1. Installing a default build agent
        4. Running the TeamCity server
        5. Summary
      11. 4. Configuring the TeamCity Server
        1. Prerequisites
        2. Working with projects and build configurations
          1. Creating a project
          2. Creating a build configuration
          3. Running the build configuration
          4. Triggering builds automatically
        3. Configuring and maintaining the TeamCity server
          1. Project-related settings
          2. Integrations
          3. Server administration
        4. Maintaining users and their permissions
        5. Configuring notifications
          1. E-mail
          2. IDE
          3. Windows tray
          4. Jabber/XMPP
          5. Atom/RSS feed
          6. Already preinstalled configurations
          7. Adding custom notification rules
        6. Summary
      12. 5. Integration with an IDE
        1. IntelliJ IDEA
          1. Installing from the plugins repository
          2. Installing from the TeamCity server
        2. Integration in action
          1. IntelliJ IDEA
          2. Eclipse
        3. Summary
      13. 6. Enhanced Techniques
        1. Remote run
          1. IntelliJ IDEA
          2. Eclipse
        2. Organizing multiple projects with templates
          1. Copying the project
          2. Update build configurations
          3. Extracting and applying a template
        3. Multi-step builds
        4. Summary
      14. 7. Advanced Configuration
        1. User and group notifications
        2. Upgrading to a newer version
          1. Backup
          2. Upgrading on Windows
          3. Upgrading on Linux
          4. Restoring
        3. Advanced server settings
          1. Installing an additional build agent
          2. Assigning a dedicated build configuration
        4. Summary
      15. A. Where to Go Next
      16. Index