Comando Start
Il Comando Start è il comando necessario per avviare l’applicazione. È indispensabile per qualsiasi applicazione, sia essa creata con un Nixpack, Buildpack, 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.
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
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
target/universal/stage/bin/ -Dhttp.port=$PORT