Distribuzione di app - AWS OpsWorks

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à.

Distribuzione di app

Importante

Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su AWS re:post o tramite Premium AWS Support.

Lo scopo principale della distribuzione è distribuire il codice dell'applicazione e i file correlati in istanze del server applicazioni. L'operazione di distribuzione viene gestita dalle ricette di distribuzione di ogni istanza, determinate dal livello dell'istanza.

Quando avvii un'istanza, una volta completate le ricette di installazione, AWS OpsWorks Stacks esegue automaticamente le ricette Deploy dell'istanza. Tuttavia, quando aggiungi o modifichi un'app, devi distribuirla manualmente in qualsiasi istanza online. Per distribuire un'app, devi avere autorizzazioni di gestione o distribuzione. Per ulteriori informazioni, consulta Gestione delle autorizzazioni utente.

Per distribuire un'app
  1. Nella pagina Apps (App) fare clic sull'operazione deploy (distribuzione) dell'app.

    Apps page showing SimplePHP app with deploy, edit, and delete action options.
    Nota

    È possibile distribuire un'app anche facendo clic su Deployments (Distribuzioni) nel riquadro di navigazione. Nella pagina Deployments & Commands (Distribuzioni e comandi) fare clic su Deploy an app (Distribuisci un'app). A questo punto, è possibile scegliere anche l'app da distribuire.

  2. Specificare le impostazioni seguenti:

    • Obbligatorio: impostare Command (Comando) su deploy (distribuzione), se non è già selezionato.

    • Facoltativo: includere un commento.

  3. Fate clic su Avanzato >> per specificare un codice JSON personalizzato. AWS OpsWorks Stacks aggiunge un set di attributi di configurazione e distribuzione dello stack all'oggetto nodo. Gli attributi deploy contengono i dettagli della distribuzione e possono essere utilizzati da ricette di distribuzione per gestire l'installazione e la configurazione. Negli stack Linux, puoi utilizzare il campo JSON personalizzato per sovrascrivere le impostazioni AWS OpsWorks Stacks predefinite o passare impostazioni personalizzate alle tue ricette personalizzate. Per ulteriori informazioni su come utilizzare codice JSON personalizzato, consulta Utilizzo di Custom JSON.

    Nota

    Se specifichi qui codice JSON personalizzato, questo viene aggiunto agli attributi di configurazione e distribuzione dello stack solo per questa distribuzione. Se vuoi aggiungere codice JSON personalizzato in modo permanente, devi aggiungerlo allo stack. Il codice JSON personalizzato è limitato a 120 KB. Se hai bisogno di maggiore capacità, ti consigliamo di archiviare alcuni dati su Amazon S3. Le ricette personalizzate possono quindi utilizzare l'interfaccia a riga di comando di AWS oppure l'SDK AWS per Ruby per scaricare i dati dal bucket all'istanza. Per vedere un esempio, consulta Utilizzo di for Ruby SDK.

  4. In Instances (Istanze) fare clic su Advanced >> (Avanzate >>) e specificare le istanze in cui eseguire il comando di distribuzione.

    Il comando di distribuzione attiva un evento Deploy (Distribuzione), che esegue le ricette di distribuzione nelle istanze selezionate. Le ricette di distribuzione per il server applicazioni associato scaricano il codice e i file correlati dal repository e li installano nell'istanza e di conseguenza è normalmente possibile selezionare tutte le istanze del server applicazioni associate. Tuttavia, poiché altri tipi di istanza potrebbe richiedere alcune modifiche di configurazione per supportare la nuova app, è spesso utile eseguire le ricette di distribuzione anche in queste istanze. Le ricette aggiornano la configurazione nel modo appropriato, ma non installano i file dell'app. Per ulteriori informazioni sulle ricette, consulta Libri di ricette e ricette.

  5. Fare clic su Deploy (Distribuisci) per eseguire le ricette di distribuzione nelle istanze specificate. Viene visualizzata la pagina Deployment (Distribuzione). Una volta completato il processo, AWS OpsWorks Stacks contrassegna l'app con un segno di spunta verde per indicare la corretta implementazione. Se la distribuzione non riesce, AWS OpsWorks Stacks contrassegna l'app con una X rossa. In tal caso, puoi andare alla pagina Distribuzioni ed esaminare il registro di distribuzione per ulteriori informazioni.

    Deployment status page showing successful deployment of PHPTestApp with details.
Nota

Quando distribuisci un aggiornamento per un'app JSP, Tomcat potrebbe non riconoscere l'aggiornamento e continuare invece a eseguire la versione esistente dell'app. Questo può verificarsi, ad esempio, se distribuisci l'app come file ZIP contenente solo una pagina JSP. Per assicurarti che Tomcat esegua la versione distribuita più recente, la directory root del progetto deve includere una directory WEB-INF contenente un file web.xml. Un file web.xml può includere vari tipi di contenuto, ma quello riportato di seguito è sufficiente a garantire che Tomcat riconosca gli aggiornamenti ed esegua la versione dell'app attualmente distribuita. Non devi modificare la versione per ogni aggiornamento. Tomcat riconoscerà l'aggiornamento anche se la versione non è cambiata.

<context-param> <param-name>appVersion</param-name> <param-value>0.1</param-value> </context-param>

Altri comandi di distribuzione

La pagina Deploy app (Distribuisci app) include diversi altri comandi per la gestione delle app e i server associati. Tra i comandi seguenti, solo Undeploy (Annulla distribuzione) è disponibile per app in stack Chef 12.

Undeploy (Annulla distribuzione)

Attiva un evento del ciclo di vita Undeploy (Annullamento distribuzione), che esegue ricette di annullamento della distribuzione per rimuovere tutte le versioni dell'app dalle istanze specificate.

Rollback

Ripristina la versione dell'app distribuita in precedenza. Ad esempio, se hai distribuito l'app tre volte e quindi esegui Rollback, il server renderà disponibile l'app della seconda distribuzione. Se esegui di nuovo Rollback, il server renderà disponibile l'app della prima distribuzione. Per impostazione predefinita, AWS OpsWorks Stacks archivia le cinque distribuzioni più recenti, il che consente di ripristinare fino a quattro versioni. Se superi il numero di versioni memorizzate, il comando non riesce e lascia la versione meno recente. Questo comando non è disponibile in stack Chef 12.

Start Web Server (Avvia server Web)

Esegue ricette che avviano il server applicazioni nelle istanze specificate. Questo comando non è disponibile in stack Chef 12.

Stop Web Server (Arresta server Web)

Esegue ricette che arrestano il server applicazioni nelle istanze specificate. Questo comando non è disponibile in stack Chef 12.

Restart Web Server (Riavvia server Web)

Esegue ricette che riavviano il server applicazioni nelle istanze specificate. Questo comando non è disponibile in stack Chef 12.

Importante

Start Web Server (Avvia server Web), Stop Web Server (Arresta server Web), Restart Web Server (Riavvia server Web) e Rollback sono essenzialmente versioni personalizzate del comando dello stack Execute Recipes (Esegui ricette). Questi comandi eseguono un set di ricette che svolgono l'attività nelle istanze specificate.

  • Poiché questi comandi non attivano un evento del ciclo di vita, non puoi impostarli per l'esecuzione di codice personalizzato.

  • Questi comandi possono essere utilizzati solo per i livelli del server applicazioni predefiniti.

    In particolare, non hanno effetto sui livelli personalizzati, anche se supportano un server applicazioni. Per avviare, arrestare o riavviare server in un livello personalizzato, devi implementare ricette personalizzate per l'esecuzione di queste attività e utilizzare il comando dello stack Execute Recipes (Esegui ricette) per eseguirle. Per ulteriori informazioni su come implementare e installare ricette personalizzate, consulta Libri di ricette e ricette.