Kinsta offre Buildpacks, un progetto open-source gestito da Heroku, come una delle opzioni per determinare e creare automaticamente un container per un’applicazione in base al repository. I Buildpack sono script che vengono eseguiti quando l’applicazione viene distribuita per installare le dipendenze dell’applicazione e configurare l’ambiente.

È possibile scegliere Buildpacks quando si aggiunge un’applicazione o modificando l’opzione Ambiente di build nelle impostazioni dell’applicazione (Impostazioni > Dettagli di base > Modifica dettagli).

Linguaggi supportati

Supportiamo i seguenti linguaggi per le applicazioni Buildpacks:

Se si vuole utilizzare una versione diversa per l’applicazione, sarà necessario impostare la versione nei file dell’applicazione.

Se si vuole utilizzare un linguaggio che non è supportata da Buildpacks, è possibile innanzitutto verificare se è un linguaggio supportato da Nixpacks. In caso contrario, sarà necessario utilizzare un Dockerfile. Quando si aggiunge un’applicazione, è possibile selezionare l’opzione Usa Nixpacks per impostare l’immagine del container o Usa Dockerfile per impostare l’immagine del container.

Configurare i buildpack

Alcune applicazioni non richiedono alcuna configurazione, mentre altre richiedono comandi e opzioni specifiche per essere eseguite, come ad esempio:

Variabili d’ambiente – Potrebbe essere necessario impostare alcune variabili d’ambiente per eseguire l’applicazione.

Processi – Kinsta può rilevare automaticamente il comando del processo web. Se necessario, è possibile modificarlo e definire ulteriori processi.

Processi in un Procfile – Potreste voler definire i processi in un Procfile all’interno del codice dell’applicazione.

Aggiungere o modificare i buildpack

È possibile gestire i buildpack nella pagina delle Impostazioni dell’applicazione. Per aggiungere altri buildpack, cliccare su Aggiungi buildpack. Per rimuovere o modificare l’ordine dei buildpack dell’applicazione, cliccare su Modifica buildpack.

Quando si aggiunge un buildpack, questo viene automaticamente aggiunto alla fine dell’elenco dei buildpack, quindi potrebbe essere necessario modificare l’ordine dei buildpack. È possibile trascinare e rilasciare i buildpack per cambiarne l’ordine nella finestra modale/pop-up Modifica buildpack.

Directory binarie dei buildpack

Con i buildpack, le directory binarie possono differire dalle directory binarie predefinite per il linguaggio dell’applicazione. La tabella seguente mostra le directory binarie utilizzate per ogni linguaggio del buildpack:

Lingua Directory
Node.js /layers/heroku_nodejs-engine/dist/bin/node
Rubino /usr/bin/ruby
Python /usr/bin/python
Java /layers/heroku_jvm/openjdk/bin/java
Scala Scala non ha un percorso binario predefinito specifico come altri linguaggi compilati. Quando si compila un programma Scala, questo genera un bytecode che viene eseguito sulla Java Virtual Machine (JVM).

Le classi compilate in Scala sono solitamente memorizzate in una struttura di directory che rispecchia la struttura dei pacchetti del codice. Questo è simile all’organizzazione delle classi Java. Per impostazione predefinita, quando si compila un file sorgente Scala, i file .class compilati vengono inseriti nella stessa directory del codice sorgente (all’interno di una struttura di sottodirectory basata sulle dichiarazioni del pacchetto).

Se necessario, è possibile installare gli strumenti di runtime di Scala utilizzando un Dockerfile invece di un buildpack.

PHP /workspace/.heroku/php/bin/
Go Go non ha un percorso binario predefinito specifico come altri linguaggi compilati. Quando si compila un programma Go, l’eseguibile binario risultante viene solitamente collocato nella stessa directory del codice sorgente per impostazione predefinita.

Se necessario, è possibile installare gli strumenti di runtime di Go utilizzando un Dockerfile invece di un buildpack.

Documentazione correlata