我正在与另外4人一起在Asp.net网站上工作。我们遇到的问题是,为了实现团队开发,我们需要什么样的硬件设置? 我们有四台个人台式电脑,我们还需要其他硬件吗? 还有哪些其他开发软件适合这种开发?
答案 0 :(得分:4)
对于以极低预算建立的Embarcadero开发者网络(http://edn.embarcadero.com),我们将自己的PC用于开发环境。目前有3个主要开发人员,包括我自己。
由于我的团队成员是远程的,我们还有用于开发和调试的虚拟机,这些虚拟机与我们的实时服务器位于同一数据中心。沟通至关重要,我们非常依赖Skype(http://www.skype.com/)。
对于源代码管理,我们使用免费的开源http://subversion.tigris.org/。适用于SVN的通用Windows客户端是TortoiseSVN(http://tortoisesvn.net/)。一个优秀的SVN Visual Studio插件是http://ankhsvn.open.collab.net/。
对于单元测试,我们使用NUnit(http://nunit.com)进行.NET测试。我们使用DUnit(http://dunit.sourceforge.net/)进行Delphi代码测试。
在部署之前,让一台不是开发机器的登台/测试服务器在部署它之前进行实时部署是非常重要的。这是确保将所有需要部署到实时服务器的唯一可靠方法。
为了在负载均衡的环境中进行部署,Robocopy(有关详细信息,请参阅http://en.wikipedia.org/wiki/Robocopy)是一个非常有用的工具,可确保您的实时服务器镜像您的“临时”服务器。我们有一个“do all all”批处理文件,1)从Subversion获取最新版本,2)合并并最小化我们的CSS和JavaScript(我写的工具我将在某天发布,以及JS打包工具来自fckeditor人员),3)将最新版本的模板,css,图像,脚本等部署到实时服务器。
对于我们的服务器,我们使用的是Windows Server 2003.标准版可能满足您的需求。虽然我们拥有数百万用户,但我们的大多数网络服务器都能在2GB内存中运行良好。我们较重的服务器有4GB的RAM。几乎每个Web应用程序都在至少2个相同的服务器上进行负载平衡。我们的Web应用程序服务器主要是VM,但我们的数据库服务器始终是具有不同RAM要求的专用盒。虚拟机无法为您提供数据库所需的性能。
我们还主要使用InterBase(http://www.embarcadero.com/products/interbase/)和Blackfish SQL(http://www.embarcadero.com/products/blackfish_sql/)作为我们的数据库,但大多数以MS为中心的商店更喜欢某种MS SQL。
我们编写了自己的监控解决方案来监控组成EDN的数据库,Web响应和Web服务,但您可能会发现Nagios(http://www.nagios.org/)等用于监控实时服务器的方法。
然后,您还需要一个问题跟踪系统,例如Jira(http://www.atlassian.com/software/jira/)FogBugz(http://www.fogcreek.com/FogBUGZ/),BugZilla(http://www.bugzilla.org/),Trac(http://trac.edgewall.org/),它们可以与Subversion或其他东西一起使用。 EDN团队使用QualityCentral(http://qc.embarcadero.com),但这是其他人无法获得的本土解决方案。
HTH
答案 1 :(得分:2)
您需要某种形式的源代码控制,可以存储在其中一个桌面(不理想)或其他服务器上。
除此之外,这种开发通常会让每个开发人员在自己的机器上复制环境。
在某些时候,能够将该代码放到服务器上并构建它以用于测试和验证目的是理想的。如果您缺少硬件,这可能是桌面之一。
答案 2 :(得分:2)
我主要通过位于新西兰,加拿大,美国和以色列的团队开展ASP.NET开发,因此我在团队环境中有效工作方面拥有丰富的经验。根据这些经验,这是我的团队发展必备资料清单:
至于硬件要求,这在很大程度上取决于您的实际开发要求和预算。我可能会建议至少为您的VCS配备专用服务器。你也可以将它加倍作为你的构建机器,虽然你也可能想要一个专用的。
可能还需要一台或六台专用测试机和数据库服务器,但根据预算,可以适当地共享这些功能。虚拟化也可能是最小化硬件支出同时保持良好功能分离的有效方法。
答案 3 :(得分:1)
您所描述的内容听起来不像是由硬件解决的问题,而是通过通信和定义的过程(Agile software development是一种方法)。源代码管理软件(例如bazaar,git,mercurial或subversion可能会有用。
答案 4 :(得分:1)
您使用的是Visual Studio Team System吗?
我会推荐某种源代码存储库,很可能是构建服务器(VSTS提供的功能)。
当然除了VSTS之外还有其他选择,包括免费的开源解决方案。
答案 5 :(得分:1)
对于五人以下的团队,如果您拥有MSDN许可证,则可以免费使用Team Foundation Server Workgroup版本: - )
答案 6 :(得分:1)
我刚刚完成了一个实质性的(6个月项目)ASP.NET Web应用程序,该应用程序是使用Visual Studio 2008,Team Foundation Server和SQL Server 2008与其他4人一起开发的,我对组合非常满意。
在Team Foundation Server之前,我们使用Visual Source Safe进行源代码管理。我不能告诉你TFS对VSS的改进是什么。
我最喜欢的一些功能是:
除了这三个,我们不需要任何其他软件。我们设置了几个数据库实例,一个用于开发,一个用于生产测试。我们的数据库是作为Visual Studio中的数据库项目开发的,一旦我们准备好进行生产测试,它就很容易部署。它还使得在两个测试数据库之间进行模式比较和更新变得容易。
就硬件而言,我们有一个用于TFS的服务器和一个用于应用程序测试的服务器。我相信你们可以将两者结合起来。
答案 7 :(得分:0)
如果有人有一个额外的盒子,我会推荐SubVersion ...应该让你的提交,签到等等容易,