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 |
|
|
Python |
ZIP |
Los archivos deben estar en la raíz del archivo ZIP, sin un directorio contenedor |
|
.NET Core |
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/yphp/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 |
|
Nombre del archivo de punto de entrada |
|
En |
|
Nombre del directorio del programa |
|
En |
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
No incluya una carpeta principal. Los directorios nginx y php deben aparecer en la raíz del archivo ZIP.
Paso 4: Desplegar
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
.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 |
|
|
|
Script de inicio de la aplicación |
|
|
|
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 *