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à.
Hook della piattaforma
Gli hook di piattaforma sono specificamente progettati per estendere la piattaforma del tuo ambiente. Si tratta di script personalizzati o di file eseguibili che vengono distribuiti come parte del codice sorgente dell'applicazione e che Elastic Beanstalk esegue durante varie fasi di provisioning delle istanze.
Nota
I platform hook non sono supportati nelle versioni della AMI piattaforma Amazon Linux (precedenti ad Amazon Linux 2).
Hook della piattaforma di distribuzione delle applicazioni
Una distribuzione dell'applicazione si verifica quando si fornisce un nuovo bundle di origine per la distribuzione o quando si apportano modifiche alla configurazione che richiedono la terminazione e la nuova creazione di tutte le istanze dell'ambiente.
Per fornire hook di piattaforma eseguiti durante la distribuzione di un'applicazione, posizionare i file nella directory .platform/hooks
del bundle di origine, in una delle seguenti sottodirectory.
-
prebuild
: i file vengono eseguiti dopo che il motore della piattaforma Elastic Beanstalk scarica ed estrae il bundle di origine dell'applicazione e prima che configuri l'applicazione e il server Web.I file
prebuild
vengono eseguiti dopo l'esecuzione di comandi trovati nella sezione comandi di qualsiasi file di configurazione e prima di eseguire i comandiBuildfile
. -
predeploy
: i file vengono eseguiti dopo che il motore della piattaforma Elastic Beanstalk ha impostato e configurato l'applicazione e il server Web e prima che li distribuisca nel percorso di runtime finale.I file
predeploy
vengono eseguiti dopo l'esecuzione di comandi trovati nella sezione container_commands di qualsiasi file di configurazione e prima di eseguire i comandiProcfile
. -
postdeploy
: i file vengono eseguiti dopo che il motore della piattaforma Elastic Beanstalk distribuisce l'applicazione e il server proxy.Questo è l'ultimo passaggio del flusso di lavoro di distribuzione.
Hook della piattaforma di distribuzione della configurazione
Una distribuzione di configurazione si verifica quando si apportano modifiche alla configurazione che aggiornano solo le istanze dell'ambiente senza ricrearle. I seguenti aggiornamenti delle opzioni causano un aggiornamento della configurazione.
-
Proprietà dell'ambiente e impostazioni specifiche della piattaforma
-
Porta dell'applicazione (per i dettagli vedere) Configurazione del proxy inverso
Per fornire hook che vengono eseguiti durante una distribuzione di configurazione, posizionarli nella directory .platform/confighooks
nel bundle di origine. Si applicano le stesse tre sottodirectory degli hook di distribuzione delle applicazioni.
Ulteriori informazioni sugli hook della piattaforma
I file hook possono essere file binari o file di script che iniziano con una riga #!
contenente il percorso dell'interprete, ad esempio #!/bin/bash
. Tutti i file devono disporre del permesso di esecuzione. Utilizzare chmod +x
per impostare l'autorizzazione di esecuzione sui file hook. Per tutte le versioni della piattaforma basate su Amazon Linux 2023 e Amazon Linux 2 rilasciate a partire dal 29 aprile 2022, Elastic Beanstalk concede automaticamente le autorizzazioni di esecuzione a tutti gli script di hook della piattaforma. In questo caso non è necessario concedere manualmente le autorizzazioni di esecuzione. Per un elenco di queste versioni della piattaforma, consulta le note di rilascio di Linux del 29 aprile 2022 nel AWS Elastic Beanstalk Guida alle note di rilascio.
Elastic Beanstalk esegue i file in ciascuna di queste directory in ordine lessicografico dei nomi dei file. Tutti i file vengono eseguiti come utente root
. La directory di lavoro corrente (cwd) per gli hook della piattaforma è la directory principale dell'applicazione. Per i file prebuild
e predeploy
è la directory di staging dell'applicazione e per i file postdeploy
è la directory dell'applicazione corrente. Se uno dei file non ha esito positivo (esce con un codice di uscita diverso da zero), la distribuzione si interrompe e fallisce.
Uno script di testo Platform Hooks può fallire se contiene caratteri di interruzione di riga di Windows Carriage Return/Line Feed (CRLF). Se un file è stato salvato in un host Windows e poi trasferito su un server Linux, può contenere interruzioni di CRLF riga di Windows. Per le piattaforme rilasciate a partire dal 29 dicembre 2022, Elastic Beanstalk CRLF converte automaticamente i caratteri di Windows in caratteri di interruzione di riga di Linux Line Feed (LF) nei file di testo degli hook della piattaforma. Se l'applicazione viene eseguita su qualsiasi piattaforma Amazon Linux 2 rilasciata prima di questa data, dovrai convertire i caratteri di Windows in CRLF caratteri Linux LF. Un modo per farlo è creare e salvare il file di script su un host Linux. Gli strumenti che convertono questi caratteri sono disponibili anche su Internet.
I file hook hanno accesso a tutte le proprietà di ambiente definite nelle opzioni dell'applicazione e alle variabili di ambiente di sistema HOME
, PATH
e PORT
.
Per ottenere valori di variabili di ambiente e altre opzioni di configurazione negli script di hook della piattaforma puoi utilizzare la utility get-config
fornita da Elastic Beanstalk sulle istanze di ambiente. Per informazioni dettagliate, consultare Strumenti di script di piattaforma per i tuoi ambienti Elastic Beanstalk.