Automated Build-Deploy-Test using TFS 2010

Overview

More and more teams today are moving towards developing their products/services based on agile methodology. The product keeps changing frequently and if the bugs aren’t discovered in time, the cost of fixing them can be considerably high. Hence it’s important to have the ability to test on a frequent basis and in a rapid manner.

In Extreme programming which is a type of agile development, the term Continuous Integration has evolved which says Test Early and Often. Continuous Integration is the process of improving the product quality along with maintaining the rapidness of delivery by replacing the traditional practice of performing testing activities after the development is complete.

The automated build, deploy and test mechanism in TFS 2010 aims for Continuous Integration. It provides the ability to perform automated build, deploy and test on demand. A daily build could be scheduled which builds the latest code, deploys it to an environment and runs the tests on it. Every code change is tested in this way and bugs are caught just in time.

TFS 2010 Architecture

TFS 2010 architecture comprises of the components listed below.

Team Foundation Server

Team Foundation Server (TFS) provides the team the capability to coordinate and integrate their efforts. It provides the following:

  • Source control mechanism
  • Creating work items (User Story, Feature, Test case, Bug, etc.)
  • Build, Deployment and Test mechanism
  • Reporting mechanism
  • SharePoint Integration

System Center Virtual Machine Manager

System Center Virtual Machine Manager (SCVMM) is used to manage machines having virtualization enabled.

Virtual Machine Host

Virtual Machine Host (VM Host) is a machine having virtualization enabled and has to ability to host virtual machines on it.

Virtual Machine

Virtual Machine (VM) is a software implementation of a programmable machine. It is hosted on a physical machine having virtualization enabled.

Build Controller

It is a background process that manages a set of build agents.

Build Agent

It is a background process that receives build commands, runs the build and reports the results. Multiple build agents are managed by a build controller.

Test Controller

It is a background process that manages a set of machines which have the test agents installed.

Test Agent

It is a background process that receives test run commands, runs the tests and reports the results. Multiple test agents are managed by a test controller.

Lab Agent

The lab agent communicates with the TFS application tier. It’s a background process running on the virtual machine to configure, monitor and report on status and errors.

Test Manager

Test Manager is used to create test plans, tests suites, assign test cases and run tests. Multiple test runs can be managed and analyzed in the Test Manager.

Lab Manager

Lab Manager is used to create and manage virtual environments. These virtual environments are used to deploy build and run tests on VMs managed by the SCVMM.

TFS 2010 Workflow

The below diagram describes the step by step process to automate the Build-Deploy-Test workflow using TFS 2010.

Conclusion

TFS 2010 Build-Deploy-Test mechanism provides the ability to build, deploy and test each and every build in an automated fashion to make sure that regressions are caught in time. Due to the integrated Reporting capability, the management team is always aware of the current status of the product. Thus the team achieves the goal of rapid delivery along with maintaining the quality of the product.

posted @   遥望星空  阅读(572)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示