¿Cómo desarrollar en Windows y probar y ejecutar en Linux?

12

Soy uno de los dos desarrolladores de software interno (escrito en python) en mi empresa. El software es una aplicación de servidor diseñada para ejecutarse en una caja dedicada de Linux. Actualmente, tenemos una caja que contiene nuestro repositorio SVN y esta caja también se usa para pruebas. El problema es que lo estoy desarrollando en mi estación de trabajo utilizando Eclipse en Windows y esta aplicación no se puede ejecutar en Windows.

¿Cómo organizar adecuadamente este entorno para que no pierda un tiempo valioso en la transferencia del proyecto y el código para poder probarlo?

Actualmente estoy haciendo svn checkout, cambio algún código y luego lo subo al servidor de desarrollo para su prueba (no a través de svn). Pruébelo en el servidor, cambie algo, pruébelo nuevamente, etc. Después de todo eso viene la confirmación. Esta constante carga y prueba me está volviendo loco. He intentado mantener el proyecto en el servidor (envío a dir. De inicio) pero esto causa muchos problemas con Eclipse.

Obviamente no tengo mucha experiencia en esto, así que me pregunto cuáles son las mejores prácticas con respecto a este tipo de problemas.

    
pregunta c0ldcrow 02.08.2011 - 14:51

5 respuestas

14

Monte la carpeta en el cuadro de Linux. De esa manera puedes interactuar directamente con el código. Funciona un encanto!

    
respondido por el l0b0 02.08.2011 - 15:01
10

En mi opinión, la mejor solución sería utilizar un entorno virtualizado para realizar pruebas, si su PC local tiene los recursos para ejecutar uno.

Para algunas recomendaciones sobre productos específicos, puede ver mi respuesta a una pregunta en StackOverflow , pero en general, lo que esto significa es que tendrá una segunda PC con Linux que se ejecuta dentro de la actual. Lo uso para el desarrollo de PHP en Windows todo el tiempo y funciona muy bien para mí. Puede compartir su base de código con SSH / ExpanDrive o si está usando VirtualBox, consulte carpetas compartidas .

    
respondido por el Matthew Scharley 02.08.2011 - 15:02
6

Sugerencia 1: trabaje directamente en Linux, si tiene tiempo para aprenderlo. Aprender cómo funciona otro sistema operativo es realmente bueno para tu experiencia personal, y agregar a tu CV que sabes cómo usar Linux no está mal. Además, Eclipse existe en Linux, por lo que no pierde nada en comparación con Windows.

Sugerencia 2: instale Linux en una máquina virtual localmente. Le permitirá probar la aplicación sin tener que publicarla en un servidor distante cada vez.

Nota: ¿cómo puedes escribir una aplicación que se dirige a Linux si trabajas con Windows? ¡Es una pesadilla!

    
respondido por el Arseni Mourzenko 02.08.2011 - 15:01
2

Si está utilizando eclipse, hay un complemento perfecto para usted: Filesync Lo uso todo el tiempo y estoy seguro de que te encantará.

Esto es lo que normalmente hago cuando trabajo en las mismas condiciones que tú.

Reviso el proyecto desde SVN usando Eclipse en mi máquina. Luego sincronizo mi proyecto local con el servidor de prueba y desarrollo remoto, excluyendo archivos como .project y similares. Le recomiendo que también coloque su clave SSH en el servidor remoto para acelerar la conexión.

Y voilà! Ahora puede trabajar localmente y eclipse sincronizará automáticamente cualquier cambio que realice en el servidor remoto. Cuando todo esté bien probado y listo para ser entregado, ¡también puede cometer eclipse! No hay necesidad de masilla!

Espero que ayude!

    
respondido por el Alfwed 02.08.2011 - 15:28
0

Logré escribir código c # / mono en Visual Studio, y depurar remotamente en una caja de Linux desde VS usando un complemento de depuración remota GDB. Trabajó increíblemente bien. Imagino que sería más rápido si su instalación de Linux está en una máquina virtual local (hay un buen dispositivo VMWare Ubuntu disponible en la web), pero necesitaba un conjunto de tarjetas GPU Tesla que no estaban instaladas en mi computadora portátil.

Busque WinGDB. No es gratis, pero funciona increíblemente bien.

    
respondido por el 3Dave 02.08.2011 - 20:06

Lea otras preguntas en las etiquetas