Runtimes gestionados por Catalyst
Conceptos clave
Descripción general
Puedes desplegar una aplicación como un runtime gestionado por Catalyst si su stack es uno de los runtimes soportados. Puedes desarrollar este servicio web usando cualquier framework, biblioteca, plugin o dependencia según sea necesario. Como el término sugiere, solo es el runtime lo que es gestionado por Catalyst. Aún necesitarás gestionar las dependencias que tu código incluye. Puedes desplegar directamente los archivos de compilación de tu aplicación, ya sea a través de la CLI o desde la consola.
Catalyst gestiona actualmente los siguientes runtimes:
- Java: Java 8, Java 11, Java 17 en los formatos Java SE y Java WAR
- Node.js: Node 16, Node 18, Node 20
- Python: Python 3.9
Aunque AppSail no incluye muchas configuraciones específicas de Catalyst ni restricciones de formato, hay ciertas definiciones que se empaquetan con tu aplicación que contienen información sobre el alojamiento y la ejecución de la aplicación. Estas se discuten a continuación.
El archivo app-config.json
Cuando inicializas o agregas un servicio de AppSail como un runtime gestionado por Catalyst desde la CLI, Catalyst crea un archivo de configuración app-config.json e incluye la configuración de tu aplicación en él. Este archivo se crea en el directorio en el que inicializas la aplicación, también llamado el directorio fuente.
A continuación se muestra un archivo app-config.json de ejemplo creado para una aplicación Java:
{
"command": "java -jar demo-0.0.1-SNAPSHOT.jar",
"buildPath": "/Users/emma-426/CatalystDirectories/DemoApp",
"stack": "java8",
"env_variables": {
"clientid":xxxxxxx,
"clientsecret":xxxxxx
},
"memory": 256,
"platform": "javase"
"scripts": {
"preserve": "mvn install -DskipTests"
"predeploy": "mvn install -DskipTests"
}
}
- command: El comando de inicio para tu aplicación
- buildPath: El directorio que contiene los archivos de compilación de tu aplicación
- stack: El runtime gestionado por Catalyst de tu aplicación
- env_variables: Las variables de entorno para tu aplicación
- memory: La memoria asignada para la ejecución de tu aplicación
- platform: Define si tu aplicación es del formato javase o javawar, aplicable solo al stack Java
- scripts: Los scripts que se pueden ejecutar antes de servir o desplegar tu aplicación a través de preserve y predeploy
Los valores para los parámetros stack, buildPath y platform se obtienen obligatoriamente al inicializar o agregar la aplicación. Puedes configurar los otros valores en este archivo antes de desplegar tu aplicación en la nube. También puedes configurar las variables de entorno, la memoria y el comando de inicio directamente en la consola después del despliegue.
Directorio fuente y ruta de compilación
-
De manera predeterminada, el directorio fuente de tu aplicación es el directorio desde el cual ejecutas el comando de inicialización o adición de la aplicación. También puedes seleccionar otro directorio además del directorio actual para que sea la fuente durante la inicialización.
-
Debes agregar los archivos fuente de tu aplicación al directorio fuente.
-
El archivo app-config.json se crea en el directorio fuente de tu aplicación.
-
El directorio de destino es el directorio que contendrá los archivos de compilación de tu servicio web desplegable.
-
Puedes especificar el directorio de destino de tu aplicación cuando la inicializas o la agregas, o agregarlo para el parámetro build-path en el archivo app-config.json.
-
Cuando haces un despliegue independiente, el directorio actual será el directorio de compilación.
-
No necesitas empaquetar o comprimir todos los archivos de compilación juntos, ya que AppSail los empaquetará automáticamente durante el servido o despliegue de la aplicación desde el build-path especificado.
-
Puedes nombrar el archivo principal de la compilación de tu aplicación como prefieras. Sin embargo, cuando compilas tu aplicación como un archivo Java WAR, necesitarás nombrar el archivo principal root.war. Esto es para asegurar que se eviten configuraciones adicionales de tu parte cuando se genera la URL del endpoint para tu aplicación. Si nombras tu archivo WAR de otra manera, necesitarás agregar algunos controladores necesarios en tu código de manera correspondiente.
Archivos de compilación comunes
Para runtimes gestionados por Catalyst, según el runtime y el framework, tu código compilado o desplegable podría ser de cualquier formato en cualquier estructura. Algunos formatos comunes se mencionan a continuación:
-
Java: El archivo de compilación final de una aplicación Java WAR es del formato .war. Un archivo WAR es esencialmente un formato desplegable estándar que se puede ejecutar directamente en cualquier servidor de aplicaciones. Es un contenedor para archivos JAR, JavaServer Pages, Java Servlets, clases Java, archivos XML, HTML, CSS, etc. del código fuente de la aplicación.
Si tus archivos de compilación son de cualquier otro formato además de un archivo .war, puedes seleccionar la plantilla Java SE. Algunos otros formatos incluyen .jar o archivos de clase compilados, .class. Si usas cualquier framework o biblioteca de Java, debes incluir esos archivos en la ruta de compilación.
-
Node.js: El archivo principal desplegable es típicamente un archivo .js. Según los estándares del framework o las dependencias que agregues, habrá módulos de node y archivos de configuración incluidos en el directorio de tu aplicación. Debes asegurarte de agregar todos los módulos de node y archivos de configuración, junto con el archivo principal y los archivos del cliente nativo en la ruta de compilación.
-
Python: El archivo principal desplegable es típicamente un archivo .py. Según los estándares del framework, plugins o dependencias que agregues, habrá archivos de Python y de configuración incluidos en el directorio de tu aplicación. Debes asegurarte de agregar todos los módulos y archivos de configuración, junto con el archivo principal y los archivos del cliente nativo en la ruta de compilación.
Puedes consultar la guía de ayuda sobre la construcción de aplicaciones de ejemplo para aprender más sobre el uso de frameworks populares en cada stack y desplegarlos como servicios de AppSail.
Última actualización 2026-03-20 21:51:56 +0530 IST
Yes
No
Send your feedback to us