2012-07-31 78 views
0

我们公司已开始开发自己的系统“内部”。我们已经有几个开发人员,他们将负责在Ruby/RoR中编写代码。Ruby/RoR开发:本地或服务器

我们目前正在讨论有关基础架构的问题,我想问一下:我们是否应该在本地机器上开发所有东西,然后将其放到测试服务器,然后放到生产环境中,或者在开发/测试服务器上开发所有东西,然后发布它进行测试后来生产?

只是上面描述的更新:在“本地机器”下我的意思是开发人员的桌面和这个测试/开发服务器是我们办公室中的一台机器。

+0

我看到很多开发问题,不一定是编程问题。这是正确的地方,还是有另一个更适合它的溢出? – VoronoiPotato 2012-07-31 12:10:01

+0

如果您正在编写Web应用程序,最好在本地进行开发,而不考虑语言。保存到服务器并使用远程应用程序比在本地执行任务要慢 - 此外,在正常开发流程中使服务器强制您连接到Web(或强制您在办公室中,具体取决于您的防火墙)。 – halfer 2012-07-31 12:12:08

+0

是的,有远程测试和现场网络服务器。您也可能需要分支服务器,每个功能分支一个。除非你的测试负载特别大,否则你的所有非活动内容都可以在一台物理/虚拟服务器上运行。确保你们都知道一个好的版本控制系统,并且每个人都致力于使用它。 – halfer 2012-07-31 12:15:33

回答

1

这是一个有效的问题,因此需要考虑权衡。

一般;在当地工作。 Web应用程序开发具有自然的流程,可以让开发人员每小时多次保存并刷新浏览器。所有节省网络延迟的时间实际上会加起来,并且对开发人员来说不那么令人沮丧。

然而,在本地工作有缺点,您需要确保您的设置完全正确,因为它将位于测试/生产服务器上。这意味着你的内核版本,Apache版本,ruby/rails版本的所有内容。 DNS很容易,但为了让AJAX调用等无缝工作,必须再一次模仿现场情况。

即使你确保所有上述内容,当你将应用程序移动到活动服务器时,你可能不得不做一些小的改动,但似乎总是有我的经验。

另外,对于开发人员而言,在实时服务器上运行并不痛苦。通过FTP保存来自文本编辑器/ IDE的源文件即使通过互联网也不到一秒钟,刷新远程浏览器会话将为您的UI设计人员提供更真实的用户体验和流量感受。如果您使用SVN而不是FTP,则同样适用。

安全并不是一个问题,锁定FTP和SSH到办公室IP,但如果开发人员需要从其他地方编辑源代码,则可以使用后门,以便他们可以临时打开防火墙以使其自己IP。

我在远程测试服务器,办公室服务器和本地机器上开发了PHP和Rails应用程序。经过多年的努力,我可以说作为一名开发人员,我不介意太多。

+1

我认为你过分地需要让你的开发环境与你的生产环境相匹配,假设你不是在跑任何超级跑的东西。显然你想部署到相同的ruby + rails + gems版本,但bundler,rvm等处理得很好。这可能有助于拥有相同的操作系统,但我在OSX上开发并无任何麻烦地部署到Debian。如果你在你的ajax调用中对域进行了硬编码,那么你可能会做错了,除非你真的在调用不同的服务。 – Soup 2012-07-31 14:10:24

0

作为一名开发人员,我的建议是,您需要首先在本地服务器上完成所有开发工作。经过测试后,您需要发送给客户以使其生活。

我的工作作为Ruby的Web开发人员on Rails的 @andolaso​​ft.com,我们都按照同样的程序。希望你明白了。

谢谢

相关问题