Creazione di un bundle di origine dell'applicazione - 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à.

Creazione di un bundle di origine dell'applicazione

Quando utilizzi la console AWS Elastic Beanstalk per implementare una nuova applicazione o una versione dell'applicazione, devi caricare un bundle fonte. Il tuo bundle di origine deve soddisfare i seguenti requisiti:

  • Deve essere costituito da un singolo file ZIP o dal file WAR (puoi includere più file WAR all'interno del file ZIP)

  • Non superare i 500 MB

  • Non includere una cartella padre o una directory di livello superiore (le sottodirectory vanno bene)

Se desideri distribuire un'applicazione lavoratore che elabora attività periodiche in background, il tuo bundle di origine dell'applicazione deve anche includere un file cron.yaml. Per ulteriori informazioni, consulta Attività periodiche.

Se implementi l'applicazione con l'interfaccia a riga di comando Elastic Beanstalk Command Line Interface (EB CLI), il AWS, Toolkit for Eclipse o AWS Toolkit for Visual Studio, il file ZIP o WAR verrà automaticamente strutturato correttamente. Per ulteriori informazioni, consulta Utilizzo dell'interfaccia a riga di comando (EB) di Elastic Beanstalk CLI, Distribuzione di applicazioni Java con Elastic Beanstalk e Il AWS Toolkit for Visual Studio.

Creazione di un bundle di origine dalla riga di comando

Creazione di un bundle di origine tramite il comando zip. Per includere file e cartelle nascosti, utilizza un modello come il seguente.

~/myapp$ zip ../myapp.zip -r * .[^.]* adding: app.js (deflated 63%) adding: index.js (deflated 44%) adding: manual.js (deflated 64%) adding: package.json (deflated 40%) adding: restify.js (deflated 85%) adding: .ebextensions/ (stored 0%) adding: .ebextensions/xray.config (stored 0%)

Così facendo ci si assicura che i file di configurazione di Elastic Beanstalk e altri file e cartelle che iniziano con un punto siano inclusi nell'archivio.

Per le applicazioni Web Tomcat, utilizza jar per creare un archivio Web.

~/myapp$ jar -cvf myapp.war .

I comandi precedenti includono i file nascosti che potrebbe aumentare la dimensione del tuo bundle di origine inutilmente. Per un maggiore controllo, utilizza un modello di file più dettagliato, oppure crea il tuo bundle di origine con Git.

Creazione di un bundle di origine con Git

Se usi Git per gestire il codice sorgente della tua applicazione, utilizza il comando git archive per creare il bundle di origine.

$ git archive -v -o myapp.zip --format=zip HEAD

git archive include solo i file che sono archiviati in git ed esclude i file ignorati e i file git. Questo ti aiuta a mantenere il tuo bundle di origine il più piccolo possibile. per ulteriori informazioni visita la pagina del manuale git-archive.

Compressione dei file in Mac OS X Finder o in Windows Explorer

Quando crei un file ZIP in Mac OS X Finder o Windows Explorer, assicurati di comprimere i file e le sottocartelle, invece di comprimere la cartella padre.

Nota

L'interfaccia utente grafica (GUI) su Mac OS X e sui sistemi operativi basati su Linux non consente di visualizzare i file e le cartelle con nomi che iniziano con un punto (.). Utilizza la riga di comando invece della GUI per comprimere la tua applicazione se il file ZIP deve includere una cartella nascosta, ad esempio .ebextensions. Per le procedure a riga di comando per creare un file ZIP su Mac OS X o su un sistema operativo basato su Linux, vedi Creazione di un bundle di origine dalla riga di comando.

Esempio

Supponiamo che tu abbia una cartella del progetto Python denominata myapp, che comprende i seguenti file e sottocartelle:

myapplication.py README.md static/ static/css static/css/styles.css static/img static/img/favicon.ico static/img/logo.png templates/ templates/base.html templates/index.html

Come indicato nell'elenco dei requisiti qui sopra, il tuo bundle di origine deve essere compresso senza una cartella padre, in modo che la sua struttura decompressa non includa una directory con un ulteriore livello superiore. In questo esempio, non deve essere creata una cartella myapp quando i file vengono decompressi (o, alla riga di comando, nessun segmento myapp deve essere aggiunto ai percorsi dei file).

Questo esempio di struttura di file viene utilizzato in questo argomento per illustrare come comprimere i file.

Per comprimere i file in Mac OS X Finder
  1. Apri la cartella del tuo progetto di primo livello e seleziona tutti i file e le sottocartelle al suo interno. Non selezionare la cartella di primo livello.

    File selezionati in Mac OS X Finder
  2. Fai clic con il pulsante destro del mouse sui file selezionati, quindi scegli Compress X items (Comprimi X elementi), dove X è il numero di file e sottocartelle selezionati.

    Compressione dei file in Mac OS X Finder
Per comprimere i file in Windows Explorer
  1. Apri la cartella del tuo progetto di primo livello e seleziona tutti i file e le sottocartelle al suo interno. Non selezionare la cartella di primo livello.

    File selezionati in Windows Explorer
  2. Fai clic con il pulsante destro del mouse sui file selezionati, scegli Send to (Invia a ), quindi scegli Compressed (zipped) folder (Cartella compressa (zip)).

    File compressi in Windows Explorer

Creazione di un bundle di origine per un'applicazione .NET

Con Visual Studio è possibile utilizzare lo strumento di implementazione incluso nel AWS Toolkit for Visual Studio per implementare l'applicazione .NET in Elastic Beanstalk. Per ulteriori informazioni, consulta Distribuzione di applicazioni Elastic Beanstalk in. NETutilizzando lo strumento di distribuzione.

Se devi creare manualmente un bundle di origine per la tua applicazione .NET, non puoi semplicemente creare un file ZIP che contiene la directory del progetto. È necessario creare un pacchetto di distribuzione Web per il tuo progetto idoneo alla distribuzione su Elastic Beanstalk. Esistono diversi metodi per creare un pacchetto di distribuzione:

  • Crea il pacchetto di distribuzione utilizzando la procedura guidata Publish Web (Pubblicazione Web) in Visual Studio. Per ulteriori informazioni, andare su Come creare un pacchetto di distribuzione Web in Visual Studio.

    Importante

    Quando crei il pacchetto di distribuzione Web, è necessario iniziare il Site name (Nome del sito) con Default Web Site.

  • Se hai un progetto .NET, puoi creare il pacchetto di distribuzione utilizzando il comando msbuild come mostrato nel seguente esempio.

    Importante

    Il parametro DeployIisAppPath deve iniziare con Default Web Site.

    C:/> msbuild <web_app>.csproj /t:Package /p:DeployIisAppPath="Default Web Site"
  • Se disponi di un progetto di un sito Web, è possibile utilizzare lo strumento IIS Web Deploy per creare il pacchetto di distribuzione. Per ulteriori informazioni, consulta la pagina relativa a creazione del pacchetto e ripristino di un sito Web.

    Importante

    Il parametro apphostconfig deve iniziare con Default Web Site.

Se distribuisci più applicazioni o un'applicazione ASP.NET Core, posiziona la cartella .ebextensions nella radice del bundle di origine, accanto ai bundle dell'applicazione bundle e al file manifest:

~/workspace/source-bundle/ |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- AspNetCore101HelloWorld.zip |-- AspNetCoreHelloWorld.zip |-- aws-windows-deployment-manifest.json `-- VS2015AspNetWebApiApp.zip

Test del bundle di origine

Può essere opportuno testare il tuo bundle di origine in locale prima di caricarlo su Elastic Beanstalk. Poiché Elastic Beanstalk utilizza essenzialmente la riga di comando per estrarre i file, si consiglia di eseguire i test dalla riga di comando anziché con uno strumento GUI.

Per testare l'estrazione dei file in Mac OS X o Linux
  1. Apri la finestra di un terminale (Mac OS X) o connettiti al server Linux. Vai alla directory che contiene il bundle di origine.

  2. Utilizza il comando unzip o tar xf e decomprimi l'archivio.

  3. Verifica che i file decompressi appaiano nella stessa cartella dell'archivio, invece che in una nuova cartella o directory di primo livello.

    Nota

    Se utilizzi Mac OS X Finder per decomprimere l'archivio, verrà creata una nuova cartella di primo livello, indipendentemente da come è stato strutturato l'archivio stesso. Per ottimizzare i risultati, utilizza la riga di comando.

Per testare l'estrazione di file in Windows
  1. Scarica o installa un programma che consente di estrarre i file compressi tramite la riga di comando. Ad esempio, è possibile scaricare il programma gratuito unzip.exe da http://stahlforce.com/dev/index.php?tool=zipunzip.

  2. Se necessario, copia il file eseguibile nella directory che contiene il bundle di origine. Se hai installato uno strumento a livello di sistema, puoi ignorare questo passaggio.

  3. Utilizza il comando appropriato, decomprimi l'archivio. Se hai scaricato unzip.exe utilizzando il collegamento nella fase 1, il comando è unzip <archive-name>.

  4. Verifica che i file decompressi appaiano nella stessa cartella dell'archivio, invece che in una nuova cartella o directory di primo livello.