我们的web应用程序由两个团队开发。一个团队在客户端工作,有自己的分支进行开发,另一个团队则在服务器端工作,也有自己的开发分支。客户端和服务器分别运行,每一个都是不同端口上的网站。在开发过程中,这些网站通过IIS Express托管,在生产过程中,它们将通过IIS运行。
我们的理想情况是,每个团队都可以完全独立地进行开发,每当开发会话结束时,两个团队都会将其变更集合并到一个公共分支以进行集成,然后每个团队都会合并回其开发分支并继续。
为了实现完全分离,我们有x2个SERVER项目,一个处理真实的HTTP请求,另一个是"Stub服务器",它用默认值响应所有客户端的HTTP请求。这样客户端团队就可以在不依赖服务器功能的情况下测试他们的代码。
问题是"Stub服务器"和实际服务器都使用客户端项目指向的同一端口。
这会导致在审查、测试等过程中,使用"Stub服务器"而不是真正的服务器运行应用程序时出现许多令人讨厌的错误(主要针对服务器端团队)。对我们来说,唯一的解决方案是在每次运行前/或发现我们运行了错误的服务器后,手动为真正的web服务器项目创建一个虚拟目录。
有没有更聪明的解决方案来克服这个烦人的问题?那将改善我们的生活!
如果我说的任何话都很愚蠢/不清楚,请纠正我(我是新手),或者询问更多细节,我会很高兴的!
谢谢你的帮助!
我认为您的问题更多地与构建自动化有关,而不是与服务器配置有关。您应该真正将存根服务器和真实服务器 如果您使用的是AngularJS,那么我建议您使用常见工具(如gulp或grunt)在客户端应用程序的构建过程中创建步骤。您可以创建将设置全局变量或修改常量(例如API端点)的构建过程,并将其命名为本地测试(将客户端指向存根服务器)和集成。 请注意,您可以轻松地将这些生成过程集成到Visual Studio中,使它们成为全局调试/生成过程的一部分。 这里有一个简单的gullow任务,可用于替换任何文件中的文本:https://www.npmjs.com/package/gulp-replace