Todos los productos
Search
Centro de documentos

Serverless App Engine:Creación de paquetes de código compatibles con los requisitos de SAE

Última actualización: Sep 05, 2026

SAE requiere que los paquetes de código sigan una estructura de directorios específica antes del despliegue. Esta página explica cómo crear paquetes compatibles para aplicaciones de Java, PHP, Python y .NET Core.

Entorno de ejecución

Formato del paquete

Requisito principal

Java

JAR o WAR

No se requiere ninguna estructura especial

PHP

ZIP

nginx/ y php/ deben estar en la raíz del archivo ZIP

Python

ZIP

Los archivos deben estar en la raíz del archivo ZIP, sin un directorio contenedor

.NET Core

ZIP

start.sh y el resultado de la compilación deben estar en la raíz del archivo ZIP

Java

La creación de paquetes JAR o WAR para SAE sigue el mismo proceso que el empaquetado estándar de Java; no se necesitan pasos adicionales.

Para realizar el despliegue, consulte Deploy Java applications using WAR or JAR packages.

PHP

Requisitos de empaquetado

El paquete ZIP debe cumplir con los siguientes requisitos:

  • Los directorios nginx/ y php/ deben ubicarse en la raíz del archivo ZIP, no anidados dentro de una carpeta principal. Si están anidados, SAE no podrá localizar los archivos de configuración ni el punto de entrada, y el despliegue fallará.

  • Reemplace los archivos de código en php/ con el código de su propia aplicación.

  • Modifique los archivos de configuración en nginx/ según sea necesario.

Paso 1: Descargar y extraer el paquete de ejemplo

Descargue hello-sae-php.zip y extráigalo. La estructura de directorios es la siguiente:

.
├── nginx
│   ├── default.conf
│   ├── fastcgi_params
│   └── root.dir
└── php                  # Program directory
    ├── index.php        # Entry point
    └── phpinfo.php

Paso 2: Reemplazar el código y actualizar la configuración

Sustituya los archivos en php/ con el código de su propia aplicación.

Si su aplicación utiliza configuraciones no predeterminadas, actualice la configuración de nginx:

Elemento de configuración

Valor predeterminado

Cómo modificarlo

Puerto

80

En default.conf, agregue listen <port>; (por ejemplo, listen 8080;) como primera línea dentro de server{ }.

Nombre del archivo de punto de entrada

index.php

En default.conf, cambie index index.php index.html index.htm; por index <your-entry-filename>; y actualice fastcgi_index index.php; a fastcgi_index <your-entry-filename>;.

Nombre del directorio del programa

php

En root.dir, modifique root /home/admin/app/php; por root /home/admin/app/<your-directory-name>;.

Paso 3: Empaquetar en un archivo ZIP

Empaquete el contenido del directorio actual, no el directorio en sí, en un archivo ZIP:

zip -r my-php-app.zip nginx php
Importante

No incluya una carpeta principal. Los directorios nginx y php deben aparecer en la raíz del archivo ZIP.

Paso 4: Desplegar

Deploy PHP applications using ZIP packages.

Python

Requisitos de empaquetado

El paquete ZIP debe cumplir con los siguientes requisitos:

  • Empaquete los archivos y carpetas dentro de la raíz de su proyecto, no el directorio raíz del proyecto en sí. Si incluye el directorio externo, SAE no podrá encontrar los archivos de la aplicación y el despliegue fallará.

  • Si su aplicación cuenta con un archivo requirements.txt, colóquelo en la raíz del archivo ZIP. SAE instala automáticamente las dependencias de software durante el despliegue.

Paso 1: Descargar y extraer el paquete de ejemplo

Descargue hello-sae-python.zip. El ejemplo depende de Flask, Gunicorn y otros paquetes listados en requirements.txt. La estructura de directorios es la siguiente:

.
├── app
│   └── hello.py
└── requirements.txt     (optional; must be in the root directory)

Paso 2: Reemplazar el ejemplo con su aplicación

Ejecute los siguientes comandos para sustituir el código de ejemplo con el suyo:

# Download and extract the sample
wget https://sae-demo-cn-shenzhen.oss-cn-shenzhen.aliyuncs.com/demo/1.0/hello-sae-python.zip
unzip hello-sae-python.zip -d hello-sae-python && rm -rf hello-sae-python.zip && cd hello-sae-python

# Replace the sample code with your Python project
# Replace /path/to/your-python-project/ with your actual project path
rm -rf app/* requirements.txt
cp -r /path/to/your-python-project/. app/
cp -r /path/to/your-python-project/requirements.txt ./

# Package into a ZIP file
zip -r my-python-app.zip app requirements.txt

Paso 3: Desplegar

Deploy Python applications using ZIP packages.

.NET Core

Requisitos de empaquetado

El paquete ZIP debe cumplir con los siguientes requisitos:

  • Empaquete los archivos y carpetas dentro de su directorio de salida de compilación, no el directorio en sí. Si incluye el directorio externo, SAE no podrá localizar los archivos de la aplicación ni el script de inicio, y el despliegue fallará.

  • Si la aplicación tiene un script de inicio (por ejemplo, start.sh), colóquelo en la raíz del archivo ZIP. SAE ejecuta este script automáticamente durante el despliegue.

La estructura del archivo ZIP se asigna a la instancia de SAE de la siguiente manera:

Ruta en el ZIP

Ruta en la instancia de SAE

Descripción

./start.sh

/home/admin/start.sh

Script de inicio de la aplicación

./your-dotnet-project

/home/admin/app/nginx/*.conf

Archivos de la aplicación .NET

Paso 1: Configurar el SDK de .NET

Descargue e instale el SDK de .NET. Seleccione una .NET Core version supported by SAE y luego compruebe la instalación:

dotnet --version

Si el comando devuelve un error, instale los paquetes de dependencias que se indican en la salida del error.

Paso 2: Compilar el proyecto

Ejecute los siguientes comandos desde el directorio de su proyecto para restaurar las dependencias y compilar el código fuente:

# Navigate to your project directory
# Replace /path/to/your-dotnet-project/ with your actual project path
cd /path/to/your-dotnet-project/

# Restore project dependencies
dotnet restore

# Compile the source code
# -c Release: optimizes for production — improves runtime performance and strips debugging information
# -o demo: outputs the build artifacts to the demo/ directory
dotnet build -c Release -o demo

Paso 3: Escribir un script de inicio

Cree un archivo start.sh en el directorio de salida de la compilación y asígnele permisos de ejecución:

chmod +x ./start.sh

Paso 4: Revisar la estructura de directorios

Compruebe que la salida de la compilación sea similar a la siguiente antes de empaquetar:

.
├── appsettings.Development.json
├── appsettings.json
├── appsettings.Production.json
├── your-dotnet-project
...
└── start.sh

Paso 5: Empaquetar en un archivo ZIP

Empaquete todos los archivos del directorio actual:

# demo.zip: the name of the ZIP file to create
# *: packages all files and folders in the current directory
zip -r demo.zip *

Paso 6: Desplegar

Deploy .NET Core applications using ZIP packages.