Buildfile e Procfile - AWS Elastic Beanstalk

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Buildfile e Procfile

Alcune piattaforme consentono di personalizzare la modalità di compilazione o preparazione dell'applicazione e di specificare i processi che eseguono l'applicazione. Ogni singolo argomento della piattaforma menziona specificamente Buildfile e/o Procfile se la piattaforma li supporta. Cerca la tua piattaforma specifica sotto Piattaforme Elastic Beanstalk.

Per tutte le piattaforme di supporto, la sintassi e la semantica sono identiche e sono come descritto in questa pagina. I singoli argomenti della piattaforma menzionano l'uso specifico di questi file per la creazione e l'esecuzione di applicazioni nelle rispettive lingue.

Buildfile

Per specificare un comando di configurazione e compilazione personalizzato per l'applicazione, inserire un file denominato Buildfile nella directory principale dell'origine dell'applicazione. Per il nome del file è prevista la distinzione tra maiuscole e minuscole. Utilizzare la seguente sintassi per il tuo Buildfile.

<process_name>: <command>

Il comando nel Buildfile deve corrispondere alla seguente espressione regolare: ^[A-Za-z0-9_-]+:\s*[^\s].*$.

Elastic Beanstalk non monitora l'applicazione eseguita con un Buildfile. Usa un Buildfile per comandi che vengono eseguiti per brevi periodi e terminano dopo aver completato le proprie attività. Per i processi di applicazioni a lungo termine da non terminare, utilizza il Procfile.

Tutti i percorsi nel Buildfile sono relativi alla radice del bundle di origine. Nel seguente esempio di Buildfile, build.sh è uno script di shell che si trova nella radice del bundle di origine:

Esempio Buildfile
make: ./build.sh

Se si desidera fornire passaggi di compilazione personalizzati, si consiglia di utilizzare gli hook della piattaforma predeploy per qualsiasi cosa tranne i comandi più semplici, invece di Buildfile. Gli hook della piattaforma consentono script più ricchi e una migliore gestione degli errori. Gli hook della piattaforma sono descritti nella sezione successiva.

Procfile

Per specificare comandi personalizzati per avviare ed eseguire l'applicazione, inserire un file denominato Procfile nella directory principale dell'origine dell'applicazione. Per il nome del file è prevista la distinzione tra maiuscole e minuscole. Utilizzare la seguente sintassi per il tuo Procfile. È possibile specificare uno o più comandi.

<process_name1>: <command1> <process_name2>: <command2> ...

Ogni riga nel Procfile deve corrispondere alla seguente espressione regolare: ^[A-Za-z0-9_-]+:\s*[^\s].*$

Utilizza un Procfile per i processi di applicazioni a lungo termine che non devono essere terminati. Elastic Beanstalk si aspetta che i processi del Procfile vengano eseguiti continuamente. Elastic Beanstalk monitora questi processi e riavvia qualsiasi processo che termina. Per i processi con esecuzione breve, utilizza un comando Buildfile.

Tutti i percorsi nel Procfile sono relativi alla radice del bundle di origine. Nell'esempio seguente Procfile definisce tre processi. Il primo, chiamato web nell'esempio, è l'applicazione web principale.

Esempio Procfile
web: bin/myserver cache: bin/mycache foo: bin/fooapp

Elastic Beanstalk configura il server proxy per inoltrare le richieste all'applicazione Web principale sulla porta 5000 ed è possibile configurare questo numero di porta. Un uso comune per un Procfile è quello di passare questo numero di porta all'applicazione come argomento di comando. Per informazioni dettagliate sulla configurazione del proxy, consultaConfigurazione del proxy inverso.

Elastic Beanstalk acquisisce flussi di output e errori standard dai processi Procfile nei file di log. Elastic Beanstalk assegna i nomi dei file di log dopo il processo e li archivia in /var/log. Ad esempio, il processo web dell'esempio precedente genera log chiamati web-1.log e web-1.error.log per, rispettivamente, stdout e stderr.