Il Comando Start è il comando necessario per avviare l’applicazione. È indispensabile per qualsiasi applicazione, sia essa creata con un NixpackBuildpack, o un Dockerfile.Il comando Start può variare a seconda del linguaggio dell’applicazione. Di seguito, forniamo degli esempi di alcuni linguaggi comuni.

Comando Start da un Nixpack

Quando un’applicazione viene creata con un Nixpack, proviamo dedurre il Comando Start in base al contenuto del repository dell’applicazione, altrimenti si può specificare il Comando Start nel passaggio Risorse quando si aggiunge l’applicazione.

Comando Start da un buildpack

Quando un’applicazione viene creata con un buildpack, cerchiamo di dedurre il comando Start in base al contenuto del repository dell’applicazione, oppure è possibile specificare il comando Start nella fase delle Risorse quando si aggiunge l’applicazione.

Comando Start da un file Docker

Se l’applicazione utilizza un Dockerfile per impostare l’immagine del container, è necessario specificare l’istruzione ENTRYPOINT o CMD nel Dockerfile per eseguire un container. Per maggiori informazioni su come specificare le istruzioni di un’applicazione, consultare il riferimento nella documentazione di Dockerfile o le Best Practice per la scrittura dei Dockerfile.

Concatenare i comandi

Per aggiungere più comandi Start, usare && per concatenare i comandi come segue:

command one && command two

Visualizzare il comando Start

È possibile controllare il comando Start in un paio di punti di MyKinsta:

  • Processi > Processi di runtime > Processo web.
  • Oppure Distribuzioni > Cronologia, selezionare una distribuzione per visualizzarne i dettagli, quindi cliccare su Processo di rollout sotto Progresso della distribuzione.
Il comando Start per la distribuzione è mostrato nel processo di rollout.
Il comando Start per la distribuzione è mostrato nel processo di rollout.

Modifica del comando Start

Andare in Processi > Processi runtime e modificare il processo Web per cambiare il comando Start. L’applicazione verrà distribuita automaticamente con il comando Start aggiornato.

Esempi di linguaggio del comando Start

Python

  • Python: python3 main.py
  • Django: gunicorn .wsgi

Go

Go: bin/<repo name>

PHP

  • PHP: heroku-php-apache2
  • Laravel:
    • heroku-php-apache2 /public
    • php artisan serve --host 0.0.0.0 --port 8080
  • Statamic: heroku-php-apache2 public/

Node.js

Node.js

npm start

Se si desidera utilizzare un altro comando, è necessario modificare il processo web di MyKinsta.

"scripts": {
"start": "node server.js"
},

Node.js con un file Docker

Quando si crea l’applicazione, Kinsta crea un processo dall’istruzione CMD.

CMD ["npm", "run", "start"]

Se si modifica questo comando nel repository, il processo non viene modificato per impostazione predefinita, quindi è necessario modificare il processo nella scheda Processi dell’applicazione in MyKinsta.

Ruby

Ruby on Rails

rails server

Ruby on Rails con un file Docker:

Quando si crea l’applicazione per la prima volta, Kinsta crea un processo dall’istruzione ENTRYPOINT.

ENTRYPOINT ["entrypoint.sh"]

Se si modifica questo comando nel repository, il processo non viene modificato per impostazione predefinita, quindi sarà necessario modificare il processo nella scheda dei Processi dell’applicazione in MyKinsta.

Java

Java: Quando si distribuisce un’applicazione, Kinsta crea automaticamente dei processi basati sul Procfile presente nella root del repository.

Scala

Scala: target/universal/stage/bin/ -Dhttp.port=$PORT

Documentazione correlata