使用TFS - 特别是团队构建 - 我正在尝试制定构建和部署多个Web应用程序的策略。我正在努力定义我希望如何执行这些构建和部署。
在这种情况下,我将构建定义为编译任何应用程序时创建的内容。我将部署定义为实际发布到某个环境的部署,即使该环境是内部的。
TFS提供了一种创建Build的方法。生成的Build的质量可以由适当的用户设置。 Build可能具有Ready for Testing,QA通过,UAT通过,失败,发布等等的质量。
我曾参与过在TFS中设置了与部署相对应的构建定义的项目。因此,例如,PC将具有Builds ReleaseQA,ReleaseUAT和ReleaseProd。虽然这绝对有效,并且已经整合到TFS中,但感觉就像欺骗我一样;而不是创建一个构建并通过一个环境引导它,一个是创建许多构建并将每个构建部署到不同的环境。
我设想了一个过程,该过程通过生成构建,然后促进构建,通过各种环境构建。
真棒
右键单击TFS中的特定已完成构建,然后选择Deploy-> UAT。
不那么棒
位于我的构建计算机上的脚本文件夹,其中包含deploy-build-qa,deploy-build-uat和deploy-build-prod等标题;一个用内部版本号调用它们,脚本将该构建部署到适当的环境
有没有一种很好的集成方式来做一些像我提议的令人敬畏的场景,或者我坚持使用不那么棒的东西?如果没有“开箱即用”的东西,我对附加组件或应用程序持开放态度。
答案 0 :(得分:4)
是的,这是可能的!我今天一直在为我正在研究的新项目的基础设施实施它:)
我开始使用TfsDeployer。
首先我创建了一个使用MSDeploy的powershell脚本(我们正在构建一个包含多个Web和WCF项目的解决方案),然后将脚本链接到TfsDeployer。
现在,我可以更改构建的质量,并将PowerShell脚本部署到测试,验收或生产服务器。
我真正喜欢帮助完成所有配置转换的是SlowCheetah。它有助于定义所有xml文件的转换以及简单地预览转换的能力。
希望这会有所帮助:)