跟踪和管理项目组件(exe,dll,ssis等)的版本和依赖项的工具

时间:2011-11-11 23:00:40

标签: .net soa

我的公司正在转向面向服务和模块化的开发结构。到目前为止它看起来很棒并且运作良好。

我们可以看到开始发生的一个问题是跟踪哪些程序引用了各种Dll和(WCF)服务。随着dll和服务的更新,将有使用旧版本的应用程序。

我们发现保留依赖项和产品清单(项目中的组件列表)的简单测试列表是有效的。但它不灵活。

无法查询和操纵纯文本列表以提取所需信息。

因此,我想知道是否有任何工具可以跟踪文件版本及其之间的依赖关系?

如果有多种工具,我(当然)更喜欢免费/开源解决方案。

如果重要,我们将TFS用于源代码控制和自动构建。

1 个答案:

答案 0 :(得分:1)

这个主题本身非常复杂,没有一般的或标准的方法可用于此。我强烈建议您阅读一本书Continious Delivery,在那里您还可以找到可用工具列表以及如何正确操作的正确解释。请记住,这将花费大量时间,但从另一方面将使您的生活变得更加容易。

简而言之,您需要:

  1. 贵公司内所有产品(二进制文件,msi,dll等)的列表
  2. 产品的所有可能配置列表
  3. 任何产品的可用版本
  4. 环境清单(登台,UAT测试,生产等)
  5. 您还需要有一个位置,您可以选择特定版本的产品,配置并通过单击按钮将其部署到所选环境。此用户界面还允许您查看部署到哪个环境的产品(版本和配置)。在幕后,该工具将调用您编写的脚本来执行自定义部署。

    在工具方面,您需要做很多事情:

    1. CI服务器(Go,TeamCity,TFS)
    2. 构建管理脚本,例如MSBuild,NAnt等。
    3. Puppet或CMDB等用于配置管理的工具
    4. 部署脚本,如Powershell