You are previewing Microsoft Team Foundation Server 2015 Cookbook.
O'Reilly logo
Microsoft Team Foundation Server 2015 Cookbook

Book Description

Over 80 hands-on DevOps and ALM-focused recipes for Scrum Teams to enable the Continuous Delivery of high-quality Software... Faster!

About This Book

  • Release high quality, reliable software quickly through building, testing, and deployment automation

  • Improve the predictability, reliability, and availability of TFS in your organization by scheduling administration and maintenance activities

  • Extend, customize, and integrate tools with TFS, enabling your teams to manage their application lifecycles effectively

  • Who This Book Is For

    This book is aimed at software professionals including Developers, Testers, Architects, Configuration Analysts, and Release Managers who want to understand the capabilities of TFS to deliver better quality software faster.

    A working setup of TFS 2015 and some familiarity with the concepts of software life cycle management is assumed.

    What You Will Learn

  • Creating a Team Project with Dashboards, Assigning License, Adding users, and Auditing Access

  • Setting up a Git repository in an existing TFVC-based Team Project

  • Setting up branch policies and conducting Pull requests with code reviews

  • Mapping, assigning and tracking work items shared by multiple teams

  • Setting up and customizing Backlogs, Kanban board, Sprint Taskboard, and dashboards

  • Creating a Continuous Integration, Continuous Build, and Release Pipeline

  • Integrating SonarQube with TFBuild to manage Technical Debt

  • Triggering Selenium Web Tests on a Selenium Test Grid using TFBuild

  • Using Visual Studio Team Services Cloud load testing capability with new Build framework

  • Extending and customizing the capabilities of Team Foundation Server using API and Process Editor

  • In Detail

    Team Foundation Server (TFS) allows you to manage code repositories, build processes, test infrastructure, and deploy labs. TFS supports your team, enabling you to connect, collaborate, and deliver on time. Microsoft's approach to Application Lifecycle Management (ALM) provides a flexible and agile environment that adapts to the needs of your team, removes barriers between roles, and streamlines processes.

    The book introduces you to creating and setting up team projects for scrum teams. You'll explore various source control repositories, branching, and merging activities, along with a demonstration of how to embed quality into every code check-in. Then, you'll discover agile project planning and management tools. Later, emphasis is given to the testing and release management features of TFS which facilitate the automation of the release pipeline in order to create potentially shippable increments.

    By the end of the book, you'll have learned to extend and customize TFS plugins to incorporate them into other platforms and enable teams to manage the software lifecycle effectively.

    Style and approach

    This book is a recipe-based guide that uses a problem-solution format to call out inefficiencies in the software development lifecycle and then guides you, step-by-step, on how you can use Team Foundation Server to your advantage in those areas.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

    Table of Contents

    1. Microsoft Team Foundation Server 2015 Cookbook
      1. Table of Contents
      2. Microsoft Team Foundation Server 2015 Cookbook
      3. Credits
      4. About the Author
      5. Acknowledgments
      6. About the Reviewers
      7. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
          3. Instant updates on new Packt books
      8. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Sections
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        5. Conventions
        6. Reader feedback
        7. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      9. 1. Team Project Setup
        1. Introduction
        2. Connecting to TFS using Team Explorer
          1. Getting ready
          2. How to do it...
          3. How it works...
        3. Setting up your user profile in TFS
          1. How to do it…
          2. How it works…
        4. Creating a Team Project using the Scrum Template
          1. Getting ready
          2. How to do it...
          3. How it works...
        5. Assigning a license, adding users, and auditing user access
          1. Getting ready
          2. How to do it...
            1. Assigning a user license:
            2. Adding users to the project:
            3. Auditing user access
          3. How it works...
        6. Configuring Dashboards in Team Project
          1. Getting ready
          2. How to do it…
          3. How it works…
        7. Setting up a welcome page for a Team Project
          1. Getting ready
          2. How to do it…
          3. How it works…
        8. Creating and setting up a Team Room
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        9. Renaming a Team Project
          1. Getting ready
          2. How to do it...
            1. Option 1
            2. Option 2
          3. How it works...
        10. Creating a new Team Project through the command line
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        11. Deleting a Team Project
          1. Getting ready
          2. How to do it...
            1. Option1
            2. Option 2
          3. How it works...
      10. 2. Setting Up and Managing Code Repositories
        1. Introduction
          1. Setting up the Fabrikam solution in FabrikamTFVC Team Project
          2. Setting up the Fabrikam solution in FabrikamGit Team Project
        2. Creating a Git repository in an existing TFVC Team Project
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        3. Enabling code analysis check-in policy
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        4. Performing a baseless merge between sibling branches in TFVC
          1. Getting ready
          2. How to do it…
          3. How it works…
        5. Reparenting a branch in TFVC
          1. Getting ready
          2. How to do it…
          3. How it works…
        6. Unlocking files checked out by someone else
          1. Getting ready
          2. How to do it...
          3. There's more...
        7. Unshelving a shelveset created in one branch to another branch
          1. Getting ready
          2. How to do it...
        8. Ignoring file types from check-in using .tfignore and .gitignore
          1. Getting ready
          2. How to do it...
          3. There's more…
        9. Conducting code reviews in TFS
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more...
        10. Setting up policies for branches in Git
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        11. Conducting Pull requests in TFS
          1. Getting ready
          2. How to do it...
          3. How it works...
        12. Analyzing code churn with TFS analysis services cube
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
      11. 3. Planning and Tracking Work
        1. Introduction
        2. Selecting the backlog levels displayed on the Team Portal
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        3. Mapping, assigning, and tracking Work Items shared by multiple Teams
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        4. Adding additional columns to the Kanban board
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        5. Customizing cards displayed on the boards
          1. Getting ready
          2. How to do it...
        6. Setting up the Team's capacity and activity for a sprint
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more...
        7. Querying Work Items by Tags
          1. Getting ready
          2. How to do it...
          3. There's more...
        8. Creating charts using Work Item Queries
          1. Getting ready
          2. How to do it...
          3. How it works...
        9. Using Service Hooks to integrate with Trello boards
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There is more…
        10. Deleting Work Items in TFS permanently
          1. Getting ready
          2. How to do it…
          3. How it works…
        11. Using Microsoft Feedback Client to provide feedback
          1. Getting ready
          2. How to do it...
          3. How it works...
      12. 4. Building Your Application
        1. Introduction
        2. Configuring TFBuild Agent, Pool, and Queues
          1. Getting ready
          2. How to do it
          3. How it works...
        3. Setting up a TFBuild Agent using an unattended installation
          1. Getting ready
          2. How to do it...
          3. How it works...
        4. Creating a continuous integration build definition in TFBuild
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more…
        5. Pinning a build badge to the welcome page in Team Portal
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There is more
        6. Managing build resources using role-based access
          1. Getting ready
          2. How to do it...
          3. How it works...
        7. Using the build retention policy to automate build deletion
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There's more…
        8. Using user capabilities to identify a build agent in a pool
          1. Getting ready
          2. How to do it…
          3. How it works…
        9. Version DLLs in build output with build number
          1. Getting ready
          2. How to do it…
          3. How it works…
        10. Creating a new build task using the TFBuild Extensibility framework
          1. Getting ready
          2. How to do it...
          3. How it works...
        11. Integrating SonarQube with TFBuild to manage technical debt
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        12. Building GitHub code repositories with TFBuild
          1. Getting ready
          2. How to do it...
          3. How it works...
      13. 5. Testing Your Application
        1. Introduction
        2. Running NUnit tests in the CI Pipeline using TFBuild
          1. Getting ready
          2. How to do it...
          3. How it works
        3. Creating and setting up a Machine Group
          1. Getting ready
          2. How to do it...
          3. How it works...
        4. Deploying a test agent through the TFBuild task
          1. Getting ready
          2. How to do it...
          3. How it works...
        5. Distributing test execution on a Lab Machine Group
          1. Getting ready
          2. How to do it…
          3. How it works…
        6. Triggering Selenium Web Tests on a Selenium Test Grid using TFBuild
          1. Getting ready
          2. How to do it…
          3. How it works…
        7. Integrating the Cloud Load Testing Service in TFBuild
          1. Getting ready
          2. How to do it…
          3. How it works…
        8. Analyzing test execution results from the Runs view
          1. How to do it...
          2. How it works...
        9. Exporting and importing test cases in Excel from TFS
          1. Getting ready
          2. How to do it…
            1. Exporting test cases from TFS
            2. Importing test cases from TFS
          3. How it works…
          4. There is more
        10. Copying and cloning test suites and test cases
          1. Getting ready
          2. How to do it...
            1. Copying (shallow copy)
            2. Clone (deep copy)
          3. How it works...
        11. Exporting test artifacts and test results from the test hub
          1. How to do it...
          2. How it works...
          3. There is more…
        12. Charting testing status on Dashboards in Team Portal
          1. Getting Started
          2. How to do it...
          3. How it works...
      14. 6. Releasing Your Application
        1. Introduction
        2. Creating a release definition in Team Web Portal
          1. Getting ready
          2. How to do it...
          3. How it works…
        3. Mapping artifacts to a release definition
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. There is more...
        4. Configuring a release definition for a continuous deployment
          1. Getting ready
          2. How to do it...
          3. How it works…
          4. There's more...
        5. Adding and configuring environments in a release definition
          1. Getting ready
          2. How to do it...
          3. How it works...
        6. Configuring security for release definitions
          1. Getting ready
          2. How to do it…
          3. How it works…
        7. Configuring global and local variables for a release
          1. Getting ready
          2. How to do it…
          3. How it works…
        8. Deploying an Azure website using release management
          1. Getting ready
          2. How to do it…
          3. How it works…
        9. Deploying the IIS Web Application using release management
          1. Getting ready
            1. Where does it need to be installed?
            2. What needs to be installed?
          2. How to do it…
          3. How it works…
          4. There is more
        10. Tracking a release in release management
          1. How to do it…
          2. How it works…
      15. 7. Managing Team Foundation Server
        1. Introduction
        2. Diagnosing builds in TFS
          1. Getting ready
          2. How to do it…
          3. How it works…
        3. Analyzing the TFS database and configuring test retention policies
          1. Getting ready
          2. How to do it...
          3. How it works…
        4. Using Activity and Job Monitoring logs to diagnose TFS issues
          1. Getting ready
          2. How to do it...
          3. How it works...
        5. Changing update frequency and forcing a rebuild of TFS Warehouse
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There is more
        6. Configuring TFS Cache settings
          1. Getting ready
          2. How to do it...
          3. How it works…
        7. Managing CodeLens in TFS
          1. Getting ready
          2. How to do it...
          3. How it works...
        8. Continuous synchronization with the TFS Proxy server
          1. Getting ready
          2. How to do it...
          3. How it works...
        9. Creating a TFS database back up schedule
          1. Getting ready
          2. How to do it...
          3. How it works...
        10. Cleaning up unused workspaces and shelvesets in TFS – in progress
          1. Getting ready
          2. How to do it…
          3. How it works…
      16. 8. Extending and Customizing Team Foundation Server
        1. Introduction
        2. Acquiring TFS object model from the NuGet Gallery
          1. Getting ready
          2. How to do it...
          3. How it works…
        3. Using Team Project Picker to connect to TFS programmatically
          1. Getting ready
          2. How to do it...
          3. How it works…
        4. Determining the version of TFS using the TFS object model
          1. Getting ready
          2. How to do it...
          3. How it works...
        5. Retrieving TFS permissions programmatically using the TFS object model
          1. Getting ready
          2. How to do it...
        6. Getting the Process Template name for a Team Project programmatically
          1. Getting ready
          2. How to do it...
          3. How it works...
        7. Getting build details programmatically using the REST API
          1. Getting ready
          2. How to do it…
          3. How it works…
        8. Getting a list of Git repositories programmatically using the REST API
          1. Getting ready
          2. How to do it…
          3. How it works…
        9. Getting a Work Item by ID programmatically using the REST API
          1. Getting ready
          2. How to do it…
          3. How it works…
        10. Adding a Team field to the Product Backlog Item to an existing Team Project
          1. Getting ready
          2. How to do it…
          3. How it works…
        11. Adding multi-item select control in the Work Item form
          1. Getting ready
          2. How to do it…
          3. How it works…
      17. Index