Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen des Quell-Bundles einer Anwendung.
Wenn Sie mithilfe der AWS Elastic Beanstalk-Konsole eine neue Anwendung oder Anwendungsversion bereitstellen, müssen Sie ein Quell-Bundle hochladen. Das Quell-Bundle muss folgende Anforderungen erfüllen:
-
Es muss aus einer einzigen
ZIP
- oderWAR
-Datei bestehen (Sie können mehrereWAR
-Dateien in eineZIP
-Datei einbinden). -
Darf nicht größer sein als 500 MB
-
Es darf keinen übergeordneten Ordner bzw. kein Top-Level-Verzeichnis enthalten (Unterverzeichnisse sind in Ordnung).
Soll eine Worker-Anwendung zur Verarbeitung regelmäßiger Hintergrundaufgaben bereitgestellt werden, muss das Quell-Bundle der Anwendung zudem eine cron.yaml
-Datei enthalten. Weitere Informationen finden Sie unter Regelmäßige Aufgaben.
Sofern Sie die Anwendung mit der Elastic Beanstalk Command Line Interface (EB CLI), dem AWS Toolkit for Eclipse oder dem AWS Toolkit for Visual Studio bereitstellen, wird die ZIP- oder WAR-Datei automatisch richtig strukturiert. Weitere Informationen finden Sie unter Verwenden der Elastic Beanstalk Beanstalk-Befehlszeilenschnittstelle (EB) CLI, Bereitstellung von Java-Anwendungen mit Elastic Beanstalk und Der AWS Toolkit for Visual Studio.
Abschnitte
Erstellen eines Quell-Bundles mit der Befehlszeile
Erstellen Sie ein Quell-Bundle mit dem Befehl zip
. Um ausgeblendete Dateien und Ordner einzuschließen, verwenden Sie ein Muster wie das Folgende.
~/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%)
So wird sichergestellt, dass Elastic Beanstalk-Konfigurationsdateien und andere Dateien und Ordner, die mit einem Punkt beginnen, im Archiv eingeschlossen werden.
Verwenden Sie für Tomcat-Webanwendungen jar
, um ein Web-Archiv zu erstellen.
~/myapp$ jar -cvf myapp
.war .
Die obigen Befehle schließen ausgeblendete Dateien ein, wodurch Ihr Quell-Bundle unnötig vergrößert werden kann. Verwenden Sie für eine bessere Kontrolle ein detaillierteres Dateimuster oder erstellen Sie Ihr Quell-Bundle mit Git.
Erstellen eines Quell-Bundles mit Git
Wenn Sie den Anwendungsquellcode mit Git verwalten, erstellen Sie das Quell-Bundle über den Befehl git archive
.
$ git archive -v -o myapp
.zip --format=zip HEAD
git archive
schließt nur Dateien ein, die in git gespeichert sind, und schließt ignorierte Dateien und git Dateien aus. Dies trägt dazu bei, dass Ihr Quell-Bundle so klein wie möglich ist. Weitere Informationen finden Sie unter git-archive manual page
Komprimieren von Dateien im Mac OS X Finder oder Windows-Explorer
Achten Sie beim Erstellen einer ZIP
-Datei im Mac OS X Finder oder Windows-Explorer darauf, die Dateien und Unterordner selbst zu komprimieren (und nicht den übergeordneten Ordner).
Anmerkung
In der grafischen Benutzeroberfläche (GUI) von Mac OS X- und Linux-basierten Betriebssystemen werden keine Dateien und Ordner angezeigt, deren Namen mit einem Punkt (.) beginnen. Soll die ZIP
-Datei einen versteckten Ordner wie z. B. .ebextensions
enthalten, komprimieren Sie die Anwendung mit der Befehlszeile (anstelle der GUI). Informationen zu Befehlszeilenverfahren zum Erstellen einer ZIP
-Datei auf einem Mac OS X- oder Linux-basierten Betriebssystem finden Sie unter Erstellen eines Quell-Bundles mit der Befehlszeile.
Beispiel
Angenommen, Sie haben einen Python-Projektordner mit dem Namen myapp
und folgenden Dateien und Unterordnern:
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
Wie bereits oben in der Anforderungsliste dargelegt, muss das Quell-Bundle ohne übergeordneten Ordner komprimiert werden, sodass in der extrahierten Struktur kein zusätzliches Top-Level-Verzeichnis vorhanden ist. In diesem Beispiel soll bei der Dateiextraktion kein myapp
-Ordner erstellt werden (bzw. in der Befehlszeile soll kein myapp
-Segment zu den Dateipfaden hinzugefügt werden).
Dieses Dateistrukturbeispiel wird im ganzen Thema verwendet und veranschaulicht das Komprimieren von Dateien.
So komprimieren Sie Dateien im Mac OS X Finder
-
Öffnen Sie den Top-Level-Projektordner und wählen Sie alle Dateien und Unterordner darin aus. Wählen Sie nicht den Top-Level-Ordner selbst aus.
-
Klicken Sie mit der rechten Maustaste auf die ausgewählten Dateien und wählen Sie Compress X items aus (wobei X für die Anzahl der ausgewählten Dateien und Unterordner steht).
So komprimieren Sie Dateien im Windows-Explorer:
-
Öffnen Sie den Top-Level-Projektordner und wählen Sie alle Dateien und Unterordner darin aus. Wählen Sie nicht den Top-Level-Ordner selbst aus.
-
Klicken Sie mit der rechten Maustaste auf die ausgewählten Dateien, wählen Sie Senden an und dann ZIP-komprimierter Ordner aus.
Erstellen eines Quell-Bundles für eine .NET-Anwendung
Wenn Sie Visual Studio verwenden, können Sie das im AWS Toolkit for Visual Studio enthaltene Bereitstellungstool verwenden, um Ihre .NET-Anwendung in Elastic Beanstalk bereitzustellen. Weitere Informationen finden Sie unter Bereitstellen von Elastic Beanstalk-Anwendungen in .NET mit dem Bereitstellungstool.
Falls das Quell-Bundle für die .NET-Anwendung manuell erstellt werden muss, können Sie nicht einfach eine ZIP
-Datei mit enthaltenem Projektverzeichnis generieren. Dazu müssen Sie ein Webbereitstellungspaket für das Projekt erstellen, das für die Bereitstellung in Elastic Beanstalk geeignet ist. Es gibt mehrere Möglichkeiten, um ein Bereitstellungspaket zu erstellen:
-
Erstellen Sie das Bereitstellungspaket mithilfe des Visual Studio-Assistenten Web veröffentlichen. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Webbereitstellungspakets in Visual Studio
. Wichtig
Beim Erstellen eines Webbereitstellungspakets muss der Site name (Site-Name) mit
Default Web Site
beginnen. -
Falls Sie ein .NET-Projekt haben, können Sie das Bereitstellungspaket wie in folgendem Beispiel dargestellt mit dem Befehl msbuild erstellen.
Wichtig
Der Parameter
DeployIisAppPath
muss mitDefault Web Site
beginnen.C:/> msbuild
<web_app>.csproj
/t:Package /p:DeployIisAppPath="Default Web Site" -
Bei einem Website-Projekt können Sie das IIS Web Deploy-Tool zum Erstellen des Bereitstellungspakets nutzen. Weitere Informationen finden Sie unter Packaging and Restoring a Web site
. Wichtig
Der Parameter
apphostconfig
muss mitDefault Web Site
beginnen.
Sofern Sie mehrere Anwendungen oder eine ASP.NET Core-Anwendung bereitstellen, platzieren Sie den Ordner .ebextensions
im Stamm des Quell-Bundles, parallel zu den Anwendungs-Bundles und der Manifestdatei:
~/workspace/source-bundle/
|-- .ebextensions
| |-- environmentvariables.config
| `-- healthcheckurl.config
|-- AspNetCore101HelloWorld.zip
|-- AspNetCoreHelloWorld.zip
|-- aws-windows-deployment-manifest.json
`-- VS2015AspNetWebApiApp.zip
Testen des Quell-Bundles
Möglicherweise möchten Sie das Quell-Bundle lokal testen, bevor Sie es in Elastic Beanstalk hochladen. Da die Dateien in Elastic Beanstalk im Grunde über die Befehlszeile extrahiert werden, ist es am besten, wenn Sie die Tests mit der Befehlszeile (anstatt mit einem GUI-Tool) ausführen.
So testen Sie die Dateiextraktion in Mac OS X oder Linux
-
Öffnen Sie ein Terminalfenster (Mac OS X) oder stellen Sie eine Verbindung zum Linux-Server her. Navigieren Sie zu dem Verzeichnis, in dem sich das Quell-Bundle befindet.
-
Extrahieren Sie das Archiv mit dem Befehl
unzip
odertar xf
. -
Stellen Sie sicher, dass die Dateien in denselben Ordner wie das Archiv selbst extrahiert werden und nicht in einen neuen Top-Level-Ordner bzw. -Verzeichnis.
Anmerkung
Falls Sie das Archiv mit dem Mac OS X Finder extrahieren, wird – unabhängig von der eigentlichen Archivstruktur – ein neuer Top-Level-Ordner erstellt. Nutzen Sie die Befehlszeile, um beste Ergebnisse zu erzielen.
So testen Sie die Dateiextraktion in Windows
-
Sie sollten ein Programm herunterladen oder installieren, mit dem sich komprimierte Dateien über die Befehlszeile extrahieren lassen. Beispielsweise können Sie das kostenlose Programm "unzip.exe" unter http://stahlforce.com/dev/index.php?tool=zipunzip
herunterladen. -
Falls erforderlich, kopieren Sie die ausführbare Datei in das Verzeichnis mit dem Quell-Bundle. Falls ein systemweites Tool installiert wurde, können Sie diesen Schritt überspringen.
-
Extrahieren Sie das Archiv mit dem entsprechenden Befehl. Wenn Sie "unzip.exe" über den in Schritt 1 angegebenen Link heruntergeladen haben, lautet der Befehl
unzip
.<archive-name>
-
Stellen Sie sicher, dass die Dateien in denselben Ordner wie das Archiv selbst extrahiert werden und nicht in einen neuen Top-Level-Ordner bzw. -Verzeichnis.