26.04.2015 Views

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

For more information on setting up a CI build <strong>with</strong> TFS, see “How To: Set Up a<br />

Continuous Integration Build in <strong>Visual</strong> <strong>Studio</strong> <strong>Team</strong> <strong>Foundation</strong> <strong>Server</strong>.” This How To<br />

article uses the solution provided by the VSTS development team. The solution installs a<br />

Web service that runs under an account that has access to the TFS server. <strong>Team</strong><br />

<strong>Foundation</strong> <strong>Server</strong> is able to send an e-mail message or call a Web service when specific<br />

events occur. This event mechanism is used by the CI solution to register a Web service<br />

<strong>with</strong> the CheckinEvent event, so that whenever a check-in occurs, the Web service<br />

initiates a <strong>Team</strong> Build.<br />

Additional Resources<br />

• For more information about CI builds, see “Chapter 8 – Setting Up a Continuous<br />

Integration Build <strong>with</strong> <strong>Team</strong> Build” in this guide.<br />

• For more information about setting up a CI build, see “How To – Set Up a<br />

Continuous Integration Build <strong>with</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Team</strong> <strong>Foundation</strong> <strong>Server</strong>” in this<br />

guide.<br />

• For more information about how to use the VSTS CI solution, see “Continuous<br />

Integration Using <strong>Team</strong> <strong>Foundation</strong> Build” at http://msdn2.microsoft.com/enus/library/ms364045(VS.80).aspx<br />

• To download the <strong>Visual</strong> <strong>Studio</strong> <strong>Team</strong> System CI solution MSI, go to<br />

http://download.microsoft.com/download/6/5/e/65e300ce-22fc-4988-97de-<br />

0e81d3de2482/ci.msi<br />

• For more information about agile development and CI in TFS, see “Extend <strong>Team</strong><br />

<strong>Foundation</strong> <strong>Server</strong> to Enable Continuous Integration” at<br />

http://msdn.microsoft.com/msdnmag/issues/06/03/<strong>Team</strong>System/default.aspx<br />

Use a Rolling Build if CI Builds Are Adversely Impacting Build <strong>Server</strong><br />

Performance<br />

Building immediately after every check-in is the simplest CI strategy and will generally<br />

give you the most rapid feedback. However, if check-ins occurs rapidly enough to<br />

overwhelm your build server, you should use a rolling build approach where you build<br />

after a specified number of check-ins or after a specified time period. To decide if you<br />

need to use a rolling build, determine the following:<br />

• Length of your <strong>Team</strong> Build in minutes<br />

• Average frequency of check-ins in minutes<br />

• Time window during which frequent check-ins occur<br />

If the length of the build is longer than the average frequency of check-ins, your builds<br />

will run continuously because the first build will not complete before the next check-in<br />

occurs, which will start another build. If check-ins continue to occur before each build is<br />

complete, it will impact the performance of your build server and will delay other builds,<br />

such as scheduled builds. Review the time window during which frequent check-ins<br />

occur and determine if CI builds will impact the delivery of scheduled builds or other<br />

important <strong>Team</strong> Builds.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!