如何在Windows上开发并在Linux上测试和运行?


12

我是公司内部某些内部软件(用python编写)的两个开发人员之一。软件是一种服务器应用程序,旨在在专用的Linux机器上运行。当前,我们有一个盒子存放着我们的SVN信息库,该盒子也用于测试。问题是我正在Windows上使用Eclipse在工作站上开发它,而该应用程序无法在Windows上运行。

如何正确地组织这样的环境,以使您不会浪费宝贵的时间来转移项目和代码,以便您进行测试?

目前,我正在执行svn checkout,更改一些代码,然后将其上传到开发服务器进行测试(而不是通过svn)。在服务器上对其进行测试,进行更改,然后再次对其进行测试,等等。不断的上传和测试使我发疯。我试图将项目保留在服务器上(检出到主目录),但这会导致Eclipse出现很多问题。

显然,我在这方面没有很多经验,所以我想问一下有关此类问题的最佳实践是什么?

Answers:


14

安装在Linux中的文件夹。这样,您可以直接与代码进行交互。很有魅力!


这是正确的答案。特别是如果您可以在Windows框上运行Cygwin;您可以使用Cygwin将Linux X-Windows(Gnome,KDE,无论这些天好酷的孩子现在使用什么)显示回Windows框。您可以直接在Linux机器上的Eclipse中进行编程,然后立即对其进行测试。
Kristofer Hoch

3
只是要注意文件系统的差异。Windows不支持区分大小写的文件名(其中“文件名”和“文件名”是两个不同的文件),某些字符作为文件名(即“ /”)或软链接。
2011年

同意,这是最有用,最容易实现的选项。以我想要的方式配置VM会花费太多时间。
c0ldcrow

@ c0ldcrow:除了文件系统问题外,请注意,根据您的工作,通过网络访问文件以进行开发工作可能会非常慢。特别是,我注意到某些版本控制系统在网络驱动器上使用时速度非常慢,尽管这种情况对您来说不应该是一个问题(请在本地进行所有源代码控制)。
马修·沙利

10

我认为最好的解决方案是使用虚拟化环境进行测试,前提是您的本地PC有运行该虚拟机的资源。

有关特定产品的一些建议,您可以在StackOverflow上看到我对问题的答案,但总的来说,这意味着您将在当前计算机中运行第二台Linux PC。我一直将它用于Windows上的PHP开发,对我来说确实很好。您可以使用SSH / ExpanDrive共享您的代码库,或者如果您使用的是VirtualBox,则签出共享文件夹


6

建议1:如果有时间学习Linux,请直接在Linux中工作。学习另一种操作系统的工作方式对于您的个人体验确实非常有用,并且将您的CV添加到知道如何使用Linux的过程中不会受到伤害。而且,Eclipse存在于Linux中,因此与Windows相比,您不会失去任何东西。

建议2:在本地虚拟机上安装Linux。它可以让您测试应用程序,而不必每次都将其发布到远程服务器上。

注意:如果使用Windows,您怎么可能编写针对Linux的应用程序?这是一场噩梦!


即使您有测试人员,也必须对自己的工作进行一些有限的测试,即使只是为了确保它实际上可以编译/运行。如果您在Windows机器上进行开发,但是在Linux应用程序上进行开发,则这将变得有些困难。关于如何做到这一点,使用正确的设置非常容易。我在自己的工作中广泛使用VM(针对Linux终端服务器的PHP / MySQL),它的确运行良好,特别是如果要使用2个以上的显示器。
马修·沙利

我已经对Linux非常满意(我已经设置了测试和SVN服务器)。我也进行Windows编码(需要Visual Studio),通常我更喜欢Windows :)软件开发不是我公司的核心业务,计算机安全是,这只是我们需要的一些内部应用程序。我想我可以接受在VM中安装Linux
c0ldcrow

@Matthew Scharley:我同意。删除了我的第二个音符。
阿森尼·穆尔琴科(Arseni Mourzenko)2011年

@ c0ldcrow:因此,拥有一个虚拟环境来开发该应用程序(或仅在Windows中编写代码时仅对其进行测试)就不会有问题。
阿森尼·穆尔琴科(Arseni Mourzenko)2011年

2

如果您使用的是eclipse,那么有个理想的插件:Filesync 我一直都在使用它,我敢肯定您会喜欢的。

这是我通常在与您相同的条件下工作的方式。

我在机器上使用Eclipse从SVN中签出项目。然后,我将本地项目同步到远程dev | test服务器,但不包括.project等文件。我建议您也将SSH密钥放到远程服务器上以加快连接速度。

和瞧!现在您可以在本地工作,并且eclipse会自动同步您在远程服务器上所做的任何更改。当所有东西都经过充分测试并准备好交付时,您也可以使用Eclipse进行提交!无需腻子!

希望能帮助到你!


0

我设法在Visual Studio中编写了c#/ mono代码,并使用GDB远程调试器插件从VS内的Linux盒上进行了远程调试。工作出色。我想如果将Linux安装在本地VM(Web上有一个不错的VMWare Ubuntu设备)上会更快,但是我需要一组未安装在笔记本电脑中的Tesla GPU卡。

寻找WinGDB。它不是免费的,但效果非常好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.