在一个由多个开发人员组成的团队中,建立开发环境的最佳方法是什么?

每个人都有自己的SharePoint的完整安装,或共享内容数据库或其他内容吗?

有帮助吗?

解决方案

每个开发人员都需要拥有自己的虚拟机,没有人分享。

这是两个目的。首先,您可以对团队的其余成员进行不间断的工作和不间断的工作。您不必担心有人重置系统或使其无法为您提供。其次,您可以部署想要或需要的东西而不会影响他人。也许您更喜欢使用firefox而不是IE(我愿意)及其所拥有的工具。继续将它们安装在VM中。也许您遇到了要尝试的网络部分。安装它。最好的事情是,您可以在安装该网络部分之前使用自己的个人快照,如果情况向南,只需回归到以前的版本。

一旦您完成了所有的混乱并构建了系统,然后将其作为功能包装,并将其部署到共享的测试/分期环境中,然后再将其移至生产中。

唯一的要求是,您的开发人员从VM到源控制系统具有连接。这样他们就可以检查/输入代码,如果您使用的是连续集成,则您的构建服务器可以抓住代码的副本并更新构建。如果您在VM中孤立工作,请查看类似Robocopy脚本或Synctoy或类似工具之类的内容,以将VM的内容同步到外部驱动器,以将代码推入存储库。

其他提示

好问题!到目前为止,我们似乎都同意了。这是一个可以使人们分裂很多的主题:-)

每个开发人员都应具有虚拟服务器实例(无论是HyperV还是VMware,本地托管或共享)。数据库可以共享,但是每个开发人员都有自己的数据库实例(使用VPN远程使用共享环境是可行的,但通常会减慢开发过程的降低,因此应避免使用)。

当参与多个项目时,每个项目都应为每个开发人员提供专用的虚拟服务器集。

我还喜欢拥有一个本地的“ POC网站”,我可以使用自己想要的东西。我将其用于在项目开发服务器上进行的小测试和工作。如果太混乱了,我总是可以重新加载快照。

为了避免“在我的盒子上工作”问题,应该有有关如何发展的准则。就像在开发过程中拥有最小可能的特权一样,尤其是在进行正常的Web部件开发或类似的情况下仅具有访客权限。

开发服务器应通过相同的黄金图像和与DEV测试,集成测试,PER POR PROD服务器相同的(最好是脚本化的)零点配置创建。由于开发人员服务器上的特殊配置或软件问题,这将最大程度地减少开发测试中的问题。我什至知道开发人员团队(例如Ben Robb)每周删除所有虚拟开发人员服务器,并推出服务器的快照(与PowerShell自动化),以使开发服务器尽可能接近开发服务器(和其他环境) 。

通常被忽略的是,特别是对于大型团队,您需要有关命名应该如何的准则(例如,root文件夹中的子文件夹(如果需要的话,则为12hive),如何使用名称空间等),如何部署(bin + cas或gac,以及何时到达使用什么),使用库等通用实用程序。在启动之前没有清除这一点,会导致您沿着道路感到悲伤,并增加在团队中应该/可以重复使用的小岛(如果图书馆都足够好且通用的话)的风险。

我的看法是,每个人都应该拥有自己的一切副本。共享数据库,应用程序池,服务器只会使您犯更多的错误或误会。使用共享资源的调试确实很尴尬和无效,并考虑数据库锁等

开发人员准备就绪后,功能将移动到共享的测试/分期环境中。如果需要,开发人员可以将测试/舞台环境复制到其开发环境中,以获取一些真实的数据。

强迫开发人员拥有自己的VM迫使他们编写可以在自己的VMS中部署到团队备忘录的代码;-)这是一个狡猾的伪装!

许多组织与不同的内容数据库共享SQL Server,并为每个开发人员提供带有SharePoint和Visual Studio等的单独VM。通常,这些VM实际上是在共享虚拟化主机上托管的,而不是由于内存需求等而在开发人员工作站上托管。

@spdevwiki 建立SharePoint开发环境 关于这个。

许可以下: CC-BY-SA归因
scroll top