Tengo una aplicación web que tiene un backend de arranque Spring separado y un frontend de nodejs.
¿Es posible hacer que ambos se ejecuten en el mismo paquete, como construir un ejecutable único? ¿O necesito un servicio independiente para cada uno? Ambos tienen sus propias canalizaciones jenkins y repositorios git.
Mi servidor backend es solo una API que proporciona al frontend datos simples a través de servicios REST. Si es posible, ¿cuál sería la forma de hacerlo?
Un nodejs es una tecnología backend, no frontend.
Puede usar un nodejs como punto de entrada a una aplicación Spring Boot, pero es un código que se ejecuta en el lado del servidor. Entonces, nodejs no es solo una lista de archivos estáticos como sucede con un front-end real desarrollado en react, angular o vue (o vanilla javascript). También tiene un motor para ejecutar el código.
Por lo tanto, no es posible ejecutar el servidor nodejs utilizando archivos que están comprimidos en el contenedor ejecutable. En su lugar, es posible poner una aplicación front-end real (react, angular...) agregando archivos estáticos en el directorio /resources/static
Tal vez fue un poco engañoso. Mi interfaz es una aplicación que se ejecuta en el servidor node.js y puede que el backend sea una aplicación Java que se ejecuta en el servidor Spring Boot. Se están comunicando en localhost a través de Rest.
Quiero crear un punto de entrada único que inicie el servidor node.js (llamo a esta unidad frontend) y el servidor de arranque de primavera ("backend") al mismo tiempo. Por lo tanto, se siente como un sistema autónomo. Actualmente, la aplicación Spring Boot se entrega como un ejecutable de Windows.