Elixir
Rilevato da mix.exs. Crea una release Mix. Erlang ed Elixir restano fuori dall'immagine di runtime.
Guide passo passo al deploy: Elixir and Phoenix.
Vedi Buildpackper come funzionano il rilevamento e la politica delle versioni.
Rilevamento
mix.exs nella base directory.
Versioni
La versione predefinita è Elixir 1.20 su Erlang/OTP 28. Versioni di Elixir pubblicate (aggiornate a settembre 2026): 1.15-1.20. Versioni OTP pubblicate: 26-29. Ricevi l'ultima patch della linea richiesta.
Per fissare la versione di Elixir, in quest'ordine:
- Una voce
elixirin.tool-versions(con lo stile asdf1.18.2-otp-27viene usata la parte prima del trattino) .elixir-version
Il requisito elixir: in mix.exs è un intervallo di versioni, non una versione fissata. Nodion non lo usa. Un vecchio requisito ~> 1.17 può comunque usare una versione predefinita più recente.
Per fissare la versione di Erlang usa una voce erlang in .tool-versions.
Installazione e build
mix local.hex, mix local.rebar, mix deps.get --only prod. Se esiste mix assets.deploy, viene eseguito subito dopo. Poi mix release --overwrite.
L'app deve essere configurata per le release Mix. La release include ERTS, quindi l'immagine di runtime contiene solo la release.
All'avvio viene impostato PHX_SERVER=true, così un endpoint Phoenix parte. Non ha effetti sulle release non Phoenix.
Comando di avvio
<release>/bin/<app> start, preferendo il nome dell'app OTP in mix.exs. Puoi sovrascriverlo con un Procfile. Metti l'app in ascolto su PORT (Phoenix legge PORT se la release è generata in questo modo).