几年来,我使用我的工作站作为开发环境。我认为大多数Web开发人员使用他们的工作站来运行他们的服务器,Apache,Tomcat,Mongrel等。我一直在一家公司工作,在另一个城市有一个Unix开发服务器,文件根文件夹与samba共享。我仍然在我的Windows PC上进行开发,因为使用像Eclipse PDT这样的IDE,而RubyMine需要快速访问文件系统,因为我想自己尝试一些东西,而不用打扰帮助台票和类似的东西。我更喜欢运行我的工具,轻松安装/卸载软件。
主要问题是我被迫使用Windows而且我无法在Unix的simialr环境中开发。例如,在生产中我们有Passenger,在Windows Passenger中无法使用,因为我有一个共享环境,PHP / Rails,在开发中我有http://localhost:3000/的Rails URL和PHP http://localhost,在生产我只有http://domain.com/apps用于Rails和http://domain.com/
那么你在工作站或远程服务器上运行developpemnt服务器吗?
我想确认我的做法是最常用的。谢谢。
答案 0 :(得分:4)
我工作站上的一台虚拟机(它的优势在于它可以在我的工作站运行的任何地方,当我在远程站点时我不需要担心带宽)
答案 1 :(得分:2)
我在我的工作站上开发,然后通常发布到临时服务器,该服务器模拟实时服务器以便在实际站点上发布之前进行测试。如果没有登台服务器,则省略该步骤。
我在Linux上工作,所以没有问题,因为我的服务器是RedHat,Centos和Ubuntu的混合体。
您可以在计算机上创建虚拟机,例如使用VirtualBox的VMWare,模仿您的远程服务器。这样,您就可以在本地开发非Windows环境。
答案 2 :(得分:1)
我这样做,我在本地有一个开发服务器,可以立即访问所做的任何更改。只要我能,我就会在生产Web服务器上构建一个暂存过程以及进行全面测试。
如果您有兴趣在本地运行Linux网络服务器(在盒子或VM中),请查看以下问题:Pre-installed Linux for Web Developers?
答案 3 :(得分:1)
我使用Apache在Windows机器上开发。当我对我的更改感到满意时,我会将它们推送到测试服务器(FreeBSD,Apache)以获取客户端的反馈,然后当他们感到满意时,将更改推送到生产服务器(Debian,Apache)。
除了有趣的东西,比如操作系统之间的区分大小写差异(特别是MySQL中的表名),我没有任何基于平台的麻烦。我唯一遇到的麻烦就是初始设置,弄清楚我需要在测试服务器上安装哪些PHP模块。我的生产服务器的设置不受我的控制。
答案 4 :(得分:1)
我的规则是:在本地工作并不断整合。
但是TBH这取决于我正在开发的项目和开发环境。
总的来说,我宁愿在我的盒子上放置整个环境有很多原因:
答案 5 :(得分:1)
我喜欢在笔记本电脑上编码。由于我只是网络开发,因此我喜欢可移植和来自许多不同地点的代码,因为我正在旅行。
然后能够执行git push或svn checkouts意味着我可以将任何更改与我的主存储库同步,然后确保数据中心服务器上的主开发平台非常快速。
如果我不是一直四处走动,我肯定会使用我的工作站。
答案 6 :(得分:0)
如果您单独或团队合作,以及用于共享和传输文件的方法(Subversion,Git,SMB,FTP等),答案很大程度上取决于
过去我们曾经有一个共享的本地开发服务器(Debian / apache),通过Windows共享(samba)访问文件,以及使用FTP发布到远程(预)生产服务器。但是,那是Dreamweaver的时间,我们在同一个项目上共同努力了很多问题。最糟糕的情况是与远程团队共享工作,对FTP客户端进行痛苦的版本管理。
现在,我们倾向于在Windows(wampserver)和SVN上使用apache来共享和发布文件。在单独工作时似乎会使事情变得复杂化,但对于团队合作而言,它与旧的工作方式无法相提并论。
Windows上的php / mysql问题已知: - 较少的稳定性和响应性 - 路径必须以unix方式编写,以避免麻烦切换到linux服务器(C:/dir/file.php而不是C:\ dir \ file.php) - 你必须注意mysql表名和文件名的情况,因为如果发生错误,它不会在Windows上抛出错误。切换到生产服务器时,您会获得一记耳光 - 在Windows世界中不存在的命令行工具/ Apache或PHP扩展
我们有时会与使用Macs linux工作站的人一起工作以摆脱这些问题。
如果您的开发过程需要开发站上的Passenger,我认为您最好使用Linux工作站或在VM中运行轻量级apache服务器。
答案 7 :(得分:0)
对我们来说它是所有的SVN。开发人员版本的一个分支,所有开发人员都应该在他们离开之前检查文件。构建版本的分支,最终运行或可构建或可部署的分支将位于此处。然后是用于测试和演示的舞台系统。舞台上的副本将始终来自构建分支。
答案 8 :(得分:0)
局部。幸运的是,Visual Studio使这非常简单。
当我进入一个我很熟悉的状态时,我会发布到测试版服务器,然后如果我们喜欢它在测试中它会推送。
肯