在我的工作中,我们有一个与你类似的设置,许多使用公共库的内部应用程序,我花了一年中最好的时间来整理这些。
首先要注意的是,您提到的任何内容都与 TFS 没有任何关系,但实际上是您的应用程序及其组件的打包和部署方式的症状。
以下是一些帮助您入门的想法:
设置自动/连续构建
这是您需要做的第一件事。如果必须,请使用 TFS 中的构建工具,或者投资于 TeamCity 之类的东西(这很棒)。评估一切。找到你喜欢并且其他人都可以忍受的东西。你之所以需要找到你喜欢的东西,是因为你最终会对它负责。
设置自动构建之所以如此重要,是因为这是您解决其余问题的起点。
设置自动部署
现在,您的构建服务器应该正在构建每个可部署的工件。不再需要手动部署。不再从工作站进行部署。没有更多的视觉工作室发布功能。很难摆脱这一点,但这是值得的。
如果您有很多 Web 项目,那么可以考虑使用 Web 部署,它可以使用 msbuild/powershell 轻松自动化,或者尝试使用 octopus deploy 之类的东西。
使用nuget打包常用组件
到目前为止,您的公共代码应该有自己的自动构建,但是您如何自动部署公共组件?将其打包到 nuget 中,然后将其放在共享中以供使用或将其托管在 nuget 服务器中(TeamCity 内置了一个)。一个好的构建服务器可以自动为你更新你的 nuget 包(如果你总是需要使用最新版本),你可以通过检查你的packages.config
.
我知道这需要考虑很多,但它本质上是实现持续交付的基础 (http://continuousdelivery.com/)。
请注意,要做到这一点需要很长时间,但这个过程是渐进的,你可以随着时间的推移而发展。然而,你等待的时间越长,它就越难。不要觉得你需要同时升级所有项目,你不需要。只是造成最痛苦的那些。
我希望这有帮助。