O SAE exige que os pacotes de código sigam uma estrutura de diretórios específica antes da implantação. Este tópico explica como criar pacotes compatíveis para aplicações Java, PHP, Python e .NET Core.
|
Runtime |
Formato do pacote |
Requisito principal |
|
Java |
JAR ou WAR |
Nenhuma estrutura especial necessária |
|
PHP |
ZIP |
Os diretórios |
|
Python |
ZIP |
Os arquivos devem estar na raiz do ZIP, sem diretório externo |
|
.NET Core |
ZIP |
O arquivo |
Java
A criação de pacotes JAR ou WAR para o SAE segue o processo padrão de empacotamento Java, sem etapas especiais.
Para implantar, consulte Implantar aplicações Java usando pacotes WAR ou JAR.
PHP
Requisitos de empacotamento
O pacote ZIP deve atender aos seguintes requisitos:
Os diretórios
nginx/ephp/devem estar na raiz do arquivo ZIP, não aninhados em uma pasta pai. Se estiverem aninhados, o SAE não localizará os arquivos de configuração ou o ponto de entrada, e a implantação falhará.Substitua os arquivos de código em
php/pelo código da sua aplicação.Modifique os arquivos de configuração em
nginx/conforme necessário.
Etapa 1: Baixe e extraia o pacote de exemplo
Baixe hello-sae-php.zip e extraia o conteúdo. A estrutura de diretórios é:
.
├── nginx
│ ├── default.conf
│ ├── fastcgi_params
│ └── root.dir
└── php # Program directory
├── index.php # Entry point
└── phpinfo.php
Etapa 2: Substituir o código e atualize a configuração
Substitua os arquivos em php/ pelo código da sua aplicação.
Se a aplicação usar configurações não padrão, atualize a configuração do nginx:
|
Item de configuração |
Valor padrão |
Como modificar |
|
Porta |
80 |
Em |
|
Nome do arquivo de ponto de entrada |
|
Em |
|
Nome do diretório do programa |
|
Em |
Etapa 3: Empacotar em um arquivo ZIP
Empacote o conteúdo do diretório atual — não o diretório em si — em um arquivo ZIP:
zip -r my-php-app.zip nginx php
Não inclua uma pasta pai. Os diretórios nginx e php devem aparecer na raiz do arquivo ZIP.
Etapa 4: Implantar
Python
Requisitos de empacotamento
O pacote ZIP deve atender aos seguintes requisitos:
Empacote os arquivos e pastas dentro da raiz do projeto, não o diretório raiz em si. Se você incluir o diretório externo, o SAE não encontrará os arquivos da aplicação e a implantação falhará.
Se a aplicação tiver um arquivo
requirements.txt, coloque-o na raiz do arquivo ZIP. O SAE instala as dependências de software automaticamente durante a implantação.
Etapa 1: Baixe e extraia o pacote de exemplo
Baixe hello-sae-python.zip. O exemplo depende do Flask, Gunicorn e outros pacotes listados em requirements.txt. A estrutura de diretórios é:
.
├── app
│ └── hello.py
└── requirements.txt (optional; must be in the root directory)
Etapa 2: Substituir o exemplo pela sua aplicação
Execute os comandos a seguir para substituir o código de exemplo pelo seu:
# 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
Etapa 3: Implantar
.NET Core
Requisitos de empacotamento
O pacote ZIP deve atender aos seguintes requisitos:
Empacote os arquivos e pastas dentro do diretório de saída da compilação, não o diretório em si. Se você incluir o diretório externo, o SAE não localizará os arquivos da aplicação ou o script de inicialização, e a implantação falhará.
Se a aplicação tiver um script de inicialização (por exemplo,
start.sh), coloque-o na raiz do arquivo ZIP. O SAE executa esse script automaticamente durante a implantação.
A estrutura do arquivo ZIP mapeia para a instância do SAE da seguinte forma:
|
Caminho no ZIP |
Caminho na instância SAE |
Descrição |
|
|
|
Script de inicialização da aplicação |
|
|
|
Arquivos da aplicação .NET |
Etapa 1: Defina o SDK do .NET
Baixe e instale o SDK do .NET. Selecione uma versão do .NET Core suportada pelo SAE e verifique a instalação:
dotnet --version
Se o comando retornar um erro, instale os pacotes de dependência listados na saída do erro.
Etapa 2: Compilar o projeto
Execute os comandos a seguir no diretório do projeto para restaurar as dependências e compilar o código-fonte:
# 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
Etapa 3: Crie um script de inicialização
Crie um arquivo start.sh no diretório de saída da compilação e torne-o executável:
chmod +x ./start.sh
Etapa 4: Revisar a estrutura de diretórios
Verifique se a saída da compilação está semelhante à estrutura a seguir antes de empacotar:
.
├── appsettings.Development.json
├── appsettings.json
├── appsettings.Production.json
├── your-dotnet-project
...
└── start.sh
Etapa 5: Empacotar em um arquivo ZIP
Empacote todos os arquivos do diretório atual:
# demo.zip: the name of the ZIP file to create
# *: packages all files and folders in the current directory
zip -r demo.zip *