我目前正在为一个小型(最多 5 人)开发团队准备一个新的小型虚拟环境,用于开发和测试,该环境使用 Windows Server + SQL Server + AD + Sharepoint + Exchange + IIS(ASP.NET)+ Biztalk + ?
不同方法的优缺点是什么,例如分成不同的机器还是将所有东西打包到每台机器上。
根据你的经验,在架构和各种系统/服务器布局方面我应该遵循哪些最佳实践。每人应该共享什么,应该分摊什么。
我希望在开发和测试过程实现一定的灵活性(这样团队成员就不会互相干扰),并限制传播设置、集成工作项和在出现问题时撤销更改所需的管理工作量。
它不应该是一个日常的开发工作环境,而应该是一个二级开发人员测试环境,而不是一个具有正式变更流程的集成或 QA 测试环境。
我认为两种边界解决方案是:
- 为每个开发团队成员创建一台全功能机器,让他们可以自由管理
- 创建由某种形式化的变更请求流程管理的共享环境
您会推荐什么中庸之道?为什么?
答案1
这实际上取决于开发人员如何使用它,以及他们可能破坏事物的频率。如果您的每个开发人员每天都需要将他们的代码部署到测试环境,并且可能会覆盖其他开发人员的测试设置,那么您可能要考虑为每个开发人员提供他们自己的测试环境。如果一个开发人员代码中的错误可能会影响所有其他正在工作的开发人员,那么这是否可能会锁定整个服务器等。如果测试人员希望他们的环境中的 Exchange 和 AD 设置符合他们自己的自定义要求,那么他们可能也需要自己的测试箱。
也就是说,如果每个开发人员都在 IIS 中运行自己的站点,该站点在自己的应用程序池中运行,并且只需要共享访问 Exchange 和 AD 等资源,那么可能只有一个共享环境。您可以将 AD 划分为 OU,这样用户帐户的创建和删除等操作就不会影响其他用户等。
答案2
- 为每个成员配备一个是没有意义的,因为用途会有很大差异。请注意并检查 Visual Studio 2010(即将推出),它具有实验室管理模块和最佳实践。