Space logo

Space

The intelligent code collaboration platform

Space is pivoting to SpaceCode, focused on Git hosting and code reviews. Learn more →

News

Presentamos el desarrollo remoto con Space

Read this post in other languages:

Puede que ya conozca las grandes noticias de JetBrains: las soluciones de desarrollo remoto para IDE de JetBrains

La idea principal es ayudarle a superar las limitaciones de los equipos locales o los portátiles lentos, permitiendo a los desarrolladores trabajar de manera más eficiente, ahorrar tiempo y colaborar en más proyectos.

Con este objetivo, decidimos separar el front-end y el back-end de los IDE. El único software que tendría que instalar en el equipo local es un cliente que usa la interfaz de usuario del IDE y se comunica con un back-end remoto. El back-end remoto se encarga de las operaciones pesadas con el código fuente, como crear los índices y el árbol sintáctico, proporcionar funciones de finalización de código y refactorizaciones, etc.

¿Qué se puede usar como back-end remoto? Hay varias opciones, pero creemos que ofrecemos la mejor compatibilidad para back-ends remotos de IDE de JetBrains. ¡Nos complace anunciar los entornos de desarrollo en la nube en JetBrains Space

Con los entornos de desarrollo de Space, puede crear un proceso de desarrollo remoto que le permitirá:

  • Agilizar la incorporación con entornos estandarizados.
  • Obtener un IDE listo para usar en segundos con instantáneas predefinidas.
  • Centralizar la gestión de sus entornos de desarrollo. 
  • Ahorrar recursos con la hibernación automática de los entornos de desarrollo.
  • Trabajar en varias tareas a la vez.
  • Colaborar en el código con sus compañeros de equipo.

Lea esta entrada de blog para obtener más información acerca de los entornos de desarrollo de Space.

¿Qué es un entorno de desarrollo?

Un entorno de desarrollo es una máquina virtual dedicada en un contenedor de Docker que tiene acceso al código fuente del proyecto y proporciona componentes de back-end en el editor de código local. El contenedor se aloja mediante el mismo motor que se usa en Space Automation. Lea este artículo para obtener más información acerca de su funcionamiento.

Space cloud dev environments

¿Por qué elegir Space para el desarrollo remoto?

Hemos creado Space, nuestra solución integral para proyectos y equipos de software, como una herramienta que le ayudará a abarcar todo el ciclo de vida de desarrollo, desde alojar repositorios Git y automatizar procesos de CI/CD, hasta publicar paquetes. 

A partir de hoy, para ayudarle a trabajar en los flujos de trabajo de desarrollo de software remoto, Space le permite administrar automáticamente entornos de desarrollo remotos como máquinas virtuales en la nube.

Todo el proceso de desarrollo remoto diseñado por JetBrains

Con Space, puede configurar, poner en marcha, reproducir y administrar sus entornos de desarrollo, conectarse a IDE de JetBrains y empezar a escribir código en solo unos segundos. 

IntelliJ IDEA Ultimate y Fleet, el IDE de próxima generación de JetBrains, ya son compatibles con el desarrollo remoto en entornos de desarrollo de Space, y pronto también podrán usarse con PyCharm, GoLand, WebStorm, CLion y otros IDE de JetBrains.

Lea esta entrada de blog para obtener más información acerca de las soluciones de desarrollo remoto de JetBrains.

Solución rentable

Space puede ayudarle a optimizar los costes de ejecutar entornos de desarrollo remoto al proporcionar máquinas virtuales que se adaptan al tamaño de sus proyectos e hibernar automáticamente los entornos de desarrollo inactivos después de 30 minutos de inactividad. Obtenga más información acerca de los planes de precios de entornos de desarrollo y los tipos de máquinas virtuales disponibles.

Mantenga su código seguro y protegido

Todas las máquinas virtuales que ejecutan espacios de trabajo de código están aisladas entre sí, y una máquina virtual no puede ejecutar más de un entorno. Las redes virtuales de los entornos de desarrollo también están aisladas. Puede usar su entorno de desarrollo como una rama de Git de duración breve y evitar los problemas relacionados con mantener un entorno de desarrollo local permanente. Cuando termine, simplemente puede eliminarlo.

Autorización y autenticación flexibles

Con la configuración flexible de permisos basados en proyectos, solo tiene que configurar quién obtiene los permisos para usar y administrar los espacios de trabajo de código de su proyecto.

¿Qué hay disponible en los entornos de desarrollo de Space?

  • Entornos reproducibles preconfigurados

Como los entornos de desarrollo se ejecutan en contenedores de Docker, puede instalar todas las herramientas y bibliotecas necesarias para su proyecto mediante un Dockerfile. Si no hay ningún archivo ./.fleet/Dockerfile en su proyecto, Space usará la imagen de contenedor predeterminada. Esto garantiza que todo el equipo de trabajo use los mismos entornos de desarrollo y simplifica la experiencia de incorporación para nuevos desarrolladores. Puede empezar a desarrollar casi de inmediato, ya que no tienen que preparar el equipo local para el proyecto.

Active Space dev environment
  • Prepare sus entornos de desarrollo

¡Esta es la mejor parte! Space le permite preparar el back-end para trabajar, clonando el repositorio Git, creando los índices del proyecto y solucionando automáticamente las dependencias. Es como si alguien llegara a la oficina una hora antes, encendiera su equipo, abriera el proyecto en el IDE y lo preparara todo para trabajar. Así puede empezar bien el día y trabajar en un IDE listo para usarse.

La preparación se ejecuta con la ayuda de Space Automation. Añada un trabajo de preparación al archivo .space.kts del proyecto, coloque todos los scripts de preparación necesarios para el trabajo, y ejecútelo. Incluso puede configurarlo para que se ejecute a diario. Lea este artículo para obtener información acerca de cómo preparar el entorno de desarrollo.

Space dev environment warmup snapshot
  • Compartir un entorno de desarrollo 

Puede enviar el enlace del entorno de desarrollo a sus compañeros para que lo abran en su IDE, revisen el código, lo ejecuten y lo depuren (actualmente, esta opción solo está disponible con Fleet). 

Sharing a Space dev environment
  • Hibernación de entornos de desarrollo

Si un entorno de desarrollo no se usa durante más de 30 minutos, se hiberna automáticamente (el contenedor se apaga y se libera la máquina virtual correspondiente). Todos los cambios sin guardar permanecerán en el almacenamiento del entorno de desarrollo. Cuando necesite volver a trabajar en el proyecto, el entorno se puede restaurar con el mismo almacenamiento montado. Gracias a la hibernación del entorno de desarrollo, podrá olvidarse de los costes ocasionados por los recursos sin usar.

Space dev environment hibernation
  • Compatibilidad con IDE de JetBrains

Hay dos opciones disponibles:

  • IntelliJ IDEA con JetBrains Gateway (se puede instalar mediante Toolbox App): IntelliJ IDEA se instala localmente y se conecta a un entorno de desarrollo que usa el iniciador de JetBrains Gateway. En la versión inicial, los entornos de desarrollo de Space solo son compatibles con IntelliJ IDEA. Estamos trabajando para ofrecer la compatibilidad con otros IDE basados en IntelliJ, así que manténgase informado.
  • JetBrains Fleet (disponible como versión preliminar): el IDE de próxima generación de JetBrains. Fleet se ha creado desde cero y usa el motor de procesamiento de código de IntelliJ, con una arquitectura de IDE distribuida y una interfaz de usuario completamente nueva. Los flujos de trabajo remotos y colaborativos tienen un lugar privilegiado en Fleet.
JetBrains Fleet
  • Escalabilidad

Para adaptarse al tamaño de su proyecto y optimizar los costes, puede elegir entre tres tipos de instancia: Regular (4 núcleos de CPU, 8 GB de RAM), Large (8 núcleos de CPU, 16 GB de RAM) o Extra Large (16 núcleos de CPU, 32 GB de RAM).

¿Cuáles son los planes de desarrollo?

  • Compatibilidad con más IDE

Además de IntelliJ IDEA Ultimate y Fleet, también tenemos previsto que sea compatible con PyCharm, GoLand, WebStorm, CLion y otros IDE de JetBrains basados en IntelliJ.

  • Uso compartido de entornos de desarrollo para desarrolladores de aplicaciones web

Imagine que está desarrollando una aplicación web y quiere que un miembro del equipo pruebe sus últimos cambios. Normalmente, al desarrollar la aplicación en un equipo local, tendría que confirmar y publicar los cambios, y preparar un entorno de preproducción en la red local. Con los entornos de desarrollo, lo único que tiene que hacer es compilar y ejecutar la aplicación. Puede crear un enlace para compartir y, a continuación, cualquier usuario con ese enlace podrá acceder a la aplicación web sin autenticación.

  • Compatibilidad con varios repositorios Git

Actualmente, un entorno de desarrollo solo puede funcionar con un repositorio de proyecto.

  • Otras características
    • Opciones avanzadas de uso compartido con compatibilidad con varios flujos de invitaciones y una lista de colaboradores/invitados.
    • Aprovisionamiento de secretos de usuario a entornos de desarrollo.
    • Compatibilidad con el formato Devfile para describir el espacio de trabajo del entorno de desarrollo.
    • Compatibilidad con varios repositorios Git.
    • Administración de recursos de entornos de desarrollo en niveles de proyecto y organización compatible con cuotas de recursos.
    • Entornos de desarrollo locales.
    • Auditoría de seguridad y otras funciones.

Cómo empezar a desarrollar con entornos de desarrollo en la nube

Solo tiene que instalar JetBrains Fleet o JetBrains Gateway en su equipo y alojar un proyecto en Space. Siga estas instrucciones detalladas para:

Start developing remotely with Space and JetBrains IDEs

Si tiene algún problema con los entornos de desarrollo de Space, póngase en contacto con el equipo de asistencia enviando una solicitud a través de nuestro sitio web.

¿Qué piensa sobre los entornos de desarrollo de Space? Denos tu opinión en los comentarios.

Artículo original en inglés de:

Luiz Di Bella

Valerie Andrianova

image description