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.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现