A Kinsta oferece Buildpacks, um projeto de código aberto mantido pelo Heroku, como uma das opções para determinar e criar automaticamente um contêiner para o seu aplicativo com base em seu repositório. Buildpacks são scripts executados quando seu aplicativo é implantado para instalar dependências para o seu aplicativo e configurar seu ambiente.

Você pode escolher Buildpacks ao adicionar um aplicativo ou ao alterar a opção Ambiente de build nas configurações do aplicativo (Configurações > Detalhes básicos > Editar detalhes).

Suportamos as seguintes linguagens de aplicativos para Buildpacks:

Se você quiser usar uma versão em outra linguagem para o seu aplicativo, você precisará configurar a versão nos arquivos do seu aplicativo.

Se quiser usar uma linguagem que não seja compatível com o Buildpack, primeiro você pode verificar se ele é compatível com o Nixpacks. Se não for, você deverá usar um Dockerfile. Ao adicionar seu aplicativo, você pode selecionar a opção Usar Nixpacks para configurar a imagem do contêiner ou Usar Dockerfile para configurar a imagem do contêiner.

Configure os Buildpacks

Alguns aplicativos não requerem configuração, mas outros requerem comandos e opções especializadas para serem executados, como, por exemplo:

Variáveis de ambiente — Você pode precisar definir certas variáveis de ambiente para executar seu aplicativo.

Processos — Kinsta pode detectar automaticamente seu comando de processo da web. Você pode alterar isso, se necessário, e pode definir processos adicionais.

Processos em um Procfile — Você pode querer definir seus processos em um Procfile no código do seu aplicativo.

Adicione ou edite buildpacks

Você pode gerenciar buildpacks na página de Configurações do seu aplicativo. Para adicionar Buildpacks adicionais, clique em Adicionar buildpack. Para remover ou alterar a ordem dos buildpacks do seu aplicativo, clique em Editar buildpacks.

Quando você adiciona um buildpack, ele é automaticamente adicionado ao final da lista de buildpacks, então você pode precisar editar a ordem dos buildpacks. Você pode arrastar e soltar os buildpacks para alterar sua ordem no menu Editar buildpacks modal/pop-up.

Diretórios binários de buildpacks

Com buildpacks, os diretórios binários podem diferir dos diretórios binários padrão para a linguagem do aplicativo. A seguinte tabela mostra os diretórios binários usados para cada linguagem de buildpack:

Linguagem Diretório
Node.js /layers/heroku_nodejs-engine/dist/bin/node
Ruby /usr/bin/ruby
Python /usr/bin/python
Java /layers/heroku_jvm/openjdk/bin/java
Scala Scala não tem um caminho binário padrão específico como algumas outras linguagens compiladas. Quando você compila um programa Scala, ele gera bytecode executado na Máquina Virtual Java (JVM).

As classes compiladas em Scala são normalmente armazenadas em uma estrutura de diretório que espelha a estrutura de pacotes do seu código. Isso é semelhante a como as classes Java são organizadas. Por padrão, quando você compila um arquivo fonte Scala, os arquivos .class compilados serão colocados no mesmo diretório que o código-fonte (dentro de uma estrutura de subdiretório baseada nas declarações de pacotes).

Se necessário, você pode instalar as ferramentas de tempo de execução do Scala usando um Dockerfile em vez de um buildpack.

PHP /workspace/.heroku/php/bin/
Go Go também não tem um caminho binário padrão específico como algumas outras linguagens compiladas. Quando você compila um programa Go, o executável binário resultante é normalmente colocado no mesmo diretório que o seu código-fonte por padrão.

Se necessário, você pode instalar as ferramentas de tempo de execução do Go usando um Dockerfile em vez de um buildpack.