Runtimes
A Zenifra não faz detecção automática de runtime. Em projetos com origem em Repositório GitHub, o usuário escolhe explicitamente o runtime no momento da criação do projeto.
Runtimes suportados
| Runtime | Como funciona |
|---|---|
| Node.js | O usuário escolhe a versão no console e a plataforma instala dependências com npm ci e NODE_ENV=production |
| Python | O usuário escolhe a versão no console e a plataforma instala dependências com pip install --no-cache-dir -r requirements.txt |
Nota: Hoje, os runtimes oficialmente suportados para builds por Repositório GitHub são apenas
Node.jsePython. Java, Go, PHP, .NET, Nginx, Apache e outros stacks devem ser publicados via Imagem OCI.
Regra importante
O runtime é definido na criação do projeto GitHub e não pode ser alterado depois.
Node.js
Arquivos obrigatórios
{
"name": "my-app",
"scripts": {
"start": "node index.js"
}
}Para projetos Node.js baseados em GitHub, estes arquivos são obrigatórios:
package.jsonpackage-lock.json
Instalação padrão de dependências
A Zenifra instala as dependências com:
NODE_ENV=production npm ciComandos do projeto
Depois da instalação padrão, os comandos abaixo são definidos pelo usuário na criação do projeto:
pre-build(opcional)buildstart
Um uso comum de pre-build em Node.js é executar migrations ou outras etapas preparatórias antes do build ou do start.
Python
Arquivo obrigatório
Para projetos Python baseados em GitHub, o arquivo requirements.txt é obrigatório.
Instalação padrão de dependências
pip install --no-cache-dir -r requirements.txtComandos do projeto
Assim como em Node.js, estes comandos são definidos pelo usuário na criação do projeto:
pre-build(opcional)buildstart
O que editar depois
Depois que o projeto GitHub é criado, apenas estes comandos ficam disponíveis para edição no fluxo documentado:
pre-buildbuildstart
Campos como runtime, versão, branch e auto-deploy devem ser tratados como definidos na criação.