2010-02-19 25 views
3

几年来,我使用我的工作站作为开发环境。我认为大多数Web开发人员使用他们的工作站来运行他们的服务器,Apache,Tomcat,Mongrel等等。我一直在一家公司工作,该公司在另一个城市有一个Unix开发服务器,文件根目录文件夹与samba共享。我仍在使用Windows PC进行开发,因为要使用像Eclipse PDT这样的IDE,并且RubyMine需要快速访问文件系统,因为我想自己尝试一些东西,而不必担心帮助台门票等问题。我更喜欢运行我的工具,轻松安装/卸载软件。你在哪里保持你的Web开发环境,在你的工作站或服务器上?

主要的问题是我被迫使用Windows,而我无法在Unix的simialr环境下开发。例如在生产我们有乘客,在Windows乘客不能使用,因为我有一个共享的环境,PHP/Rails,在开发中我有Rails网址与http://localhost:3000/和PHP只是http://localhost,在生产我只有http://domain.com/apps为Rails和http://domain.com/

那么你在工作站或远程服务器上运行开发服务器吗?

我想确认我的做法是最被采纳的。谢谢。

回答

4

一个VM我的工作站上(它有它去任何地方我去的工作站,我也不需要担心的带宽,当我在远程站点上的优势)

+0

我尝试过,但是使用Eclipse PDT(对于PHP),VM上的samba共享速度太慢。由于我现在不使用PDT,所以我再试一次。你使用Vmware,VirtualBox ...? – rtacconi 2010-02-19 10:33:27

+0

Virtualbox(最小的Debian安装不包含X) – Quentin 2010-02-19 10:46:57

1

我这样做,我在本地开发服务器可以立即访问所做的任何更改。无论什么时候,我都可以在生产Web服务器上建立一个临时过程以及彻底的测试。

如果你有兴趣在本地运行Linux网络服务器(无论是在一个盒子或VM),看看这个问题:Pre-installed Linux for Web Developers?

+0

如果我将使用本地VM,我会安装我的东西,因为我不认为他们有Apache + mod_php + mod_rails aka Passenger。 谢谢 – rtacconi 2010-02-19 10:39:04

2

我我的工作站上进行开发的话,一般发布到模仿阶段服务器现场服务器进行测试,然后在活动网站上发布。当没有登台服务器时,该步骤被省略。

我在Linux上工作,所以没有问题,因为我的服务器是RedHat,Centos和Ubuntu的混合。

您可以在您的机器上创建虚拟机,例如,与VirtualBox的VMWare,模仿您的远程服务器。这样你就可以在本地开发一个非Windows环境。

+0

我必须是一个缓慢的typer! :) – Cez 2010-02-19 10:19:08

1

我使用Apache在Windows机器上开发。当我对自己的变化感到满意时,我会将它们推送到测试服务器(FreeBSD,Apache)以获得客户的反馈,然后当他们感到满意时,将更改推送到生产服务器(Debian,Apache)。

除了像操作系统之间的大小写敏感性差异(特别是MySQL中的表名)之外,我还没有任何基于平台的麻烦。

几乎我遇到的唯一困难是最初的设置,找出我需要在我的测试服务器上安装哪些PHP模块。我的生产服务器的设置超出了我的控制范围。

0

答案取决于很多,如果你是单独或在团队中工作,以及所使用的方法来共享和传输文件(颠覆,Git的,SMB,FTP,...)

在我们用过去拥有共享的本地开发服务器(Debian/apache),通过Windows共享(samba)访问文件以及使用FTP发布到远程(预)制作服务器。但是,那是Dreamweaver的时间,我们在同一个项目上合作了很多问题。最糟糕的情况是与远程团队共享工作,跨FTP客户端进行痛苦的版本管理。

现在,我们倾向于在windows(wampserver)和SVN上使用apache来共享和发布文件。它似乎在单独工作时使事情复杂化,但对于团队合作而言,它与旧的工作方式没有任何区别。

上的窗口的用PHP/MySQL的问题是已知的: - 较低的稳定性和响应性 - 路径必须被写入UNIX的方法,以避免麻烦切换到Linux服务器(C:/dir/file.php而不是C: \ dir \ file.php) - 您必须注意mysql表名和文件名大小写,因为如果发生错误,它不会在Windows上引发错误。当你切换到生产服务器时,你会得到一巴掌 - Windows世界中不存在的命令行工具/ Apache或PHP扩展

我们有时会与使用Mac或Linux的工作站的人一起工作,以摆脱这些问题。

如果您的开发流程需要开发站上的乘客,我认为您最好使用Linux工作站或在虚拟机内运行一个轻量级的Apache服务器。

1

我的规则是:在当地工作并不断整合。

但TBH它真的取决于我正在开发的项目和开发环境。

总的来说,我宁愿有许多原因,在我的盒子,整个环境:

  • 我能够重现集成
  • 我能够重现问题
  • 我可以工作从家里或没有网络

顺便说一句我有一些项目,因为数据库非常庞大,或者认证系统是由另一个部门构建的,可以自己构建/部署它...

+0

+1和CI的PHP,看看我最近的赏金问题:http://stackoverflow.com/questions/2180460/setting-up-a-deployment-build-ci-cycle-for-php-projects – 2010-02-19 11:36:45

0

对我们来说,它的所有SVN。开发者版本的一个分支,所有开发者在他们离开之前都应该检查这些文件。构建版本的分支,最终运行或可构建或可部署的分支将位于此处。然后是用于测试和演示的舞台系统。舞台上的副本将始终来自构建分支。

1

我喜欢在笔记本电脑上编码。由于我只是网络开发人员,因为我正在旅行,所以我喜欢能够在许多不同的位置进行移植和编码。

能够随后执行git push或svn checkouts意味着我可以将任何更改与主存储库同步,然后确保我的数据中心服务器上的主要开发平台非常快速。

如果我不是一直在四处移动,我肯定会使用我的工作站。

+0

这是我想要做的,但用Mac或Linux笔记本电脑。我已经准备好了一个Ubuntu虚拟机,所以我将运行一个类似于我的服务器的环境 – rtacconi 2010-02-22 15:45:25

0

本地。幸运的是Visual Studio使这非常简单。

当我到达一个我感到满意的状态时,我发布到一个测试版服务器,那么如果我们在测试中喜欢它,那么它就会推动生活。

相关问题