Eclipse: proyectos en sistema de ficheros remoto

Hoy os traigo algo que acabo de aprender, después de mucho buscar por la red. Se trata de crear un proyecto en un sistema de fiecheros remoto, por tal de poder trabajar de manera idéntica a como si lo tuviéramos en nuestro propio pc.

Mi necesidad era que, para desarrollar en Raspberry Pi, lo mejor es hacerlo sobre la propia plataforma. La idea incluso os puede confundir un poco, porque el proyecto es en Nodejs, y como todos sabemos, es un lenguaje multiplataforma. Por lo tanto, podría editar y probar en local, y posteriormente, publicarlo a la Pi, pero ¿no creéis que es mas cómodo editar y publicar directamente sobre el servidor? Sobretodo cómodo, porque usando grunt podemos ver los cambios al instante, sin necesidad de tener que realizar deploys manualmente y esperar a que se publiquen los cambios.

La solución es bastante mas sencilla de lo que cabía esperar: usaremos un plugin que ya incluye las últimas versiones de Eclips, el Remote System Explorer (RSE). Su fecha de lanzamiento fue por allá en 2006, por lo que ya es un proyecto con solera, que seguramente nos va a funcionar muy bien. Este a su vez pertenece al Target Management Home.

Vamos a por ello.

Como os comentaba, yo he usado una Raspberry Pi para mi servidor / plataforma de desarrollo, pero podréis usar cualquier otro sistema, Linux o Windows, según vuestras necesidades. Paralelamente, mi Eclipse es un Spring STS, pero podéis usar cualquier otra versión.

Lo primero que haremos es buscar la perspectiva del RSE, y abrirla: Window > Open Perspective > Other… > Remote System Explorer

Open Perspective Remote System Explorer

Open Perspective Remote System Explorer

 

Una vez ya en la perspectiva del RSE, pulsaremos sobre el icono que vemos en a parte superior que es una tubería con un símbolo +. Esto es para crear una nueva conexión remota. Se nos abrirá una pantalla semejante a la que vemos a continuación, desde la que podremos seleccionar el sistema remoto al que nos conectaremos. En nuestro caso, Linux:

Selección del tipo de sistema de ficheros remoto

Selección del tipo de sistema de ficheros remoto

 

Seleccionamos Linux, pulsamos Next y a continuación se nos solicita la información del sistema remoto.

Deberemos indicar:

  • Parent profile: aquí aparecerá el nombre de nuestro host o PC
  • Host name: nombre de host o ip del sistema remoto
  • Connection name: un nombre para nuestra conexión
  • Description: una posible descripción
Descripción de la conexión

Descripción de la conexión

En el ejemplo, mi Raspberry Pi tiene la ip 192.168.1.2. Clickamos en Next… A continuación nos aparece una nueva ventana en la que se nos solicita que indiquemos el sistema de comunicación entre nuestro host y el remoto. Yo he seleccionado SSH (ssh.files), pero podéis utilizar cualquiera de los que se ofrecen. En cualquier caso, sea cual sea la opción elegida, tened en cuenta que el servidor o sistema remoto tiene activado el servicio, por ejemplo, el SSH…

Selección del tipo de conexión, SSL con SFTP

Selección del tipo de conexión, SSL con SFTP

Después de esta pantalla, podéis dar Next… hasta finalizar el proceso. Iremos con las opciones por defecto en el resto de preguntas. También podéis darle a Finish.

Tras este proceso ya tendremos disponible en nuestra vista de sistemas remotos la conexión que acabamos de crear. Como podéis ver, se llama raspberrypi, que es el nombre que le hemos dado en el momento de la creación:

Conexión Linux creada

Conexión Linux creada

Ahora ya podemos proceder a desplegar el sistema de ficheros remoto. Para ello, accedemos a la conexión raspberrypi que acabamos de crear, y desplegamos del árbol raspberrypi > Sftp Files > My Home, que nos llevará directamente al home del usuario que utilicemos en la pantalla de credenciales que se nos abrirá al mismo tiempo (es el directorio por defecto al conectarse un usuario por ssh o sftp):

Credenciales de conexión

Credenciales de conexión

 

 

Usaré el usuario raspberry/pi por defecto. Por comodidad, marcaremos las opciones Save user ID y Save password, para que no tengamos que ponerlas cada vez. Clickamos OK, y esto nos llevará al home del usuario pi mediante el explorador de sistemas remotos:

Explorador del sistema de ficheros remoto

Explorador del sistema de ficheros remoto

Como podéis comprobar, al desplegar el árbol My Home, nos muestra dos directorios, que son los que existen en el home del usuario pi. Uno de ellos se llama workspace y dentro, otro llamado homepi. Estos dos directorios los he creado yo para albergar en ellos mi proyecto, que tal y como vemos, se llamará homepi.

Ahora ya solo nos queda importar el directorio de trabajo para nuestro proyecto. Para ello, lo que haremos es clicar botón derecho sobre el directorio deseado (homepi) y en el menú emergente, seleccionaremos Import to project… si lo que queremos es importar un proyecto de Eclipse ya existente, o bien Create remote project, para crear un nuevo proyecto dentro del mismo. Yo seleccionaré esta última opción, ya que aún no disponía de ningún proyecto creado…

Seleccionamos la opción de crear o importar proyecto

Seleccionamos la opción de crear o importar proyecto

Tras esto, ya tendremos nuestro proyecto importado en el workspace de Eclipse. Su nombre es hostName_projectName, por lo que en mi caso, se me habrá creado un proyecto, vacío, con el nombre raspberrypi_homepi.

A partir de aquí ya podéis seguir trabajando con normalidad en vuestro proyecto.

A tener en cuenta, si el proyecto ya existe en el sistema de ficheros remoto, al importarlo tendrá la misma etsructura que el original, por lo que si es un proyecto con facetas especiales, es muy importante tenerlo creado antes.

Cualquier duda o comentario, ya sabéis!

Suerte, y espero que os haya parecido interesante.

Jordi

Share Button

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.