2009-04-14 60 views
1

在工作中,我们在我们的项目中使用NUnit,FxCop和其他第三方软件。现在我们有存储在项目回购库中的每个应用程序的项目文件,并且每个开发人员机器安装软件(当前只有一个,我)。我应该在哪里安装开发工具?

我们在几个星期内雇用了几个其他开发人员,我试图设置更容易和更透明。

我读到将这些类型的软件安装到repo中并将快捷方式复制/粘贴到桌面以运行gui是一个好主意。这样可以很容易地更新到较新版本的软件(将它们安装到工作副本上,然后进行更改),并且更新所有开发人员是一件很简单的事情:下一个结帐将包括新版本的软件。

所以我不知道...

请问这项工作作为标榜?有人试过吗?

此外,考虑到下面的存储库文件夹结构,如果您有多个正在开发的软件,您是否在每个项目的Extras文件夹中安装了nunit副本,还是只安装了一个所有项目使用的Repositories'Common文件夹? (后者让我认为项目和工具之间存在逻辑上和物理上的脱节,但前者意味着可能会出现一些不同的工具,因为项目a使用nunit 2.4.5,项目b使用nunit 2.4。 8等 - 以及所有其他工具/版本)

Repository>Common 
Repository>ProjectName>Extras 
Repository>ProjectName>Trunk 
Repository>ProjectName>Tags 
Repository>ProjectName>Experiments 

我不知道,如果这最后一部分是有道理的......让我知道,我会澄清。

回答

1

我不会“安装”或将第三方工具放入存储库。他们去一个文件服务器,但不是在回购。

通常,当我有多个版本的工具时,我通过在构建过程中设置环境变量来配置它们。

使用专用的构建机器以帮助定义您的策略并限制开发人员所遇到的麻烦。

+0

我们有一个生成机器 - 现在它只是存储库;我还没有开始设置CC.NET。不幸的是,这台机器不是专用的,它也是交换服务器(老板不想为一台机器赚钱,只是为了支持1位开发人员)。 – 2009-04-14 20:49:06

+1

我最初只是为了按计划运行而创建了一台生成器 - 我每天都做一个win NT计划任务 - 并运行一个名为msbuild的批处理文件。这很快捷。 – Tim 2009-04-14 21:21:39

1

我们使用名为“Vendor”的文件夹(或项目)。我们所有的非内部开发的依赖库以及任何工具都在那里进行。它位于源代码树的顶层。

1

我们的开发团队正在使用虚拟机。因此,一个新的团队成员已经安装了Visual Studio和SQL Server 2008 Express。这些我们没有机会修改的商业工具不在我们的版本控制系统中。但是我们确实已经对VM映像上安装的工具进行了版本管理。
使用开源工具Fitnesse,检入存储库效果很好。正如你所说,检查新版本并更新参考文件可以让团队即时升级。但是在这种情况下它运行良好,因为没有工具安装过程。
在我们的例子中,我们有我们的中间地面工具,如xUnit,FxCop,ccNet被检入到项目中。我们主要与一个大型项目合作,所以一切都在它之下。
对于以前的雇主,我们在存储库中有一个通用工具区域。由于不同的项目并非都希望同时切换到新版本的工具,因此需要将每个版本的工具都检入到自己的文件夹中。使存储库的这个区域与文件共享不同。存储库控制的存储可能仍然有用。版本控制工具允许您指定“视图”来关闭所有需要的项目文件。