Windows开发平台和Linux测试平台之间的最佳接口方式?

时间:2009-09-25 00:12:11

标签: windows linux

我的项目是一个PHP Web应用程序。这适用于我的测试服务器(本地),而不是生产服务器!我也是这个项目的独立开发人员(但是,这可能会在很远的将来发生变化)。此外,我的所有源代码都提交到存储库,生产服务器从存储库中获取源代码。

我在Windows上进行开发,而我的测试服务器在Ubuntu上运行(也许你也可以推荐另一个易于使用的发行版,可以作为一个优秀的Web服务器)。我需要一种优雅的方式来连接两个环境。目前,我在Windows中进行编码,然后将已更改的文件FTP到测试服务器。但是,由于每次必须手动转到我的FTP客户端,这非常麻烦且繁琐。请给我一些优雅的东西!也许FTP同步?或OpenVPN(测试服务器上的根www目录就像Windows中的文件夹一样)?谢谢你的精彩时间!

5 个答案:

答案 0 :(得分:4)

我更喜欢SFTP到FTP。

也就是说,ExpanDrive允许您将SFTP服务器映射到本地驱动器号,这意味着您可以使用任何文本编辑器直接在测试服务器上访问您的文件,或使用其他机制来保持文件同步。由于它们显示为两个本地驱动器,因此您可以使用任何产品。

如果要使用FTP,只需在Windows资源管理器中映射驱动器即可。如果您打开我的电脑,请转到工具>映射网络驱动器,您可以将FTP服务器文件夹映射到任何本地驱动器。只需输入地址作为文件夹,即。 ftp://mscharley@192.168.0.10/htdocs

这将至少为您节省一次FTP客户端...

答案 1 :(得分:4)

最简单的是在Ubuntu中,右键单击文件夹,然后单击“共享选项”,然后共享该文件夹。在Windows中,连接到共享,然后处理该副本。

如果您正在使用版本控制,那么使用像Hudson(http://hudson-ci.org/)这样的持续集成将有助于您创建一个为测试服务器构建/导出网站的任务。从长远来看,这种方法会更好,但是你最初会浪费一天时间进行设置。

答案 2 :(得分:0)

一些想法:

  1. 在Windows下使用服务器环境(例如EasyPHP)。
  2. 使用可以通过FTP保存的开发工具(例如超编辑)。
  3. 使用通过FTP连接到远程机器的网络驱动器。
  4. 使用通过Samba连接到远程计算机的网络驱动器。
  5. 在虚拟化工具(例如虚拟盒)中运行Linux发行版,并从Windows主机写入来宾主机的共享目录。
  6. 使用dropbox在计算机之间同步文件(除了“企业”解决方案之外,还有更多的黑客攻击)。

答案 3 :(得分:0)

您是否有任何理由不能在本地计算机上进行测试?在我的工作中,我们都在本地开发和进行开发人员测试,我们大多数人都使用Windows。我们的生产和测试服务器都是基于Linux的。在本地工作非常好,因为您不需要担心每次小的更改都会在服务器上进行更改。

另一种选择是在服务器上创建代码的签出或工作副本,然后每次更改代码时运行svn upsvn export(或等效使用版本控制软件)在服务器上(假设您ssh进入服务器)。这有点慢,但很容易。另一种选择是编写一个脚本,该脚本遍历最近提交的svn日志,并仅导出或更新已更改的脚本。这要快得多,而且据我所知,已经存在这样的事情了。

最后,一些IDE允许您通过ftp \ sftp实时编辑文件。基本上,IDE会下载代码的副本,然后在保存时重新上载。

答案 4 :(得分:0)

目前我也开发了Windows(PHP),并在Linux机器上进行部署以进行测试和生产。我就是这样做的。

  • 使用例如设置本地开发服务器WAMP
  • 在版本控制中设置代码库,例如颠覆。
  • 将代码库签出到测试/登台服务器上,而不仅仅是在本地开发人员上。环境。
  • 在开发的早期阶段,您希望部署到测试环境 A LOT ,以解决Windows和Linux环境之间的任何差异。当您的编程工作更多地转向程序流类型编程时,这种持续测试可能会变慢。但仍然需要定期测试。
  • 要测试基于分段的代码,请执行 svn update 。我只需使用SSH会话登录即可。这里需要注意的一件重要事情是,您不必对代码库进行任何配置更改。如果您确实需要对环境进行配置更改,那么就花时间去 SCRIPT 这个过程,而不是这是一个手动过程。
  • 为生产做同样的事。我也使用Subversion检查生产。确保将.htaccess文件设置为拒绝访问隐藏的.svn文件夹并编写部署脚本,尤其是在需要更改配置的情况下。