

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.

# Ein Elastic Beanstalk Beanstalk-Anwendungsquellpaket erstellen
<a name="applications-sourcebundle"></a>

In diesem Thema wird erklärt, wie Sie Ihre Anwendungsquelldateien in einem Quellpaket auf Elastic Beanstalk hochladen. Es werden die Anforderungen an ein Quellpaket, die Struktur und die Methoden zur Erstellung eines solchen Pakets erläutert.

Wenn Sie die AWS Elastic Beanstalk Konsole verwenden, um eine neue Anwendung oder eine Anwendungsversion bereitzustellen, müssen Sie die Dateien für die Anwendung in einem *Quellpaket* hochladen. Das Quell-Bundle muss folgende Anforderungen erfüllen: 
+ Es muss aus einer einzigen `ZIP`- oder `WAR`-Datei bestehen (Sie können mehrere `WAR`-Dateien in eine `ZIP`-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](using-features-managing-env-tiers.md#worker-periodictasks).

Wenn Sie Ihre Anwendung mit dem 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 korrekt strukturiert. Weitere Informationen finden Sie unter [Einrichtung der EB-Befehlszeilenschnittstelle (EB CLI) zur Verwaltung von Elastic Beanstalk](eb-cli3.md), [Bereitstellung von Java-Anwendungen mit Elastic Beanstalk](create_deploy_Java.md) und [Die AWS Toolkit for Visual Studio](dotnet-toolkit.md).

**Topics**
+ [Erstellen eines Quell-Bundles mit der Befehlszeile](#using-features.deployment.source.commandline)
+ [Erstellen eines Quell-Bundles mit Git](#using-features.deployment.source.git)
+ [Komprimieren von Dateien im Mac OS X Finder oder Windows-Explorer](#using-features.deployment.source.gui)
+ [Erstellen eines Quell-Bundles für eine .NET-Anwendung](#using-features.deployment.source.dotnet)
+ [Testen des Quell-Bundles](#using-features.deployment.source.test)

## Erstellen eines Quell-Bundles mit der Befehlszeile
<a name="using-features.deployment.source.commandline"></a>

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](ebextensions.md) 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](#using-features.deployment.source.git).

## Erstellen eines Quell-Bundles mit Git
<a name="using-features.deployment.source.git"></a>

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](http://git-scm.com/docs/git-archive).

## Komprimieren von Dateien im Mac OS X Finder oder Windows-Explorer
<a name="using-features.deployment.source.gui"></a>

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](#using-features.deployment.source.commandline).

**Example**  
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.

## Erstellen eines Quell-Bundles für eine .NET-Anwendung
<a name="using-features.deployment.source.dotnet"></a>

Wenn Sie Visual Studio verwenden, können Sie das in der enthaltene Bereitstellungstool verwenden, AWS Toolkit for Visual Studio um Ihre .NET-Anwendung auf Elastic Beanstalk bereitzustellen. Weitere Informationen finden Sie unter [Bereitstellung von Elastic Beanstalk Beanstalk-Anwendungen in.NET mithilfe von AWS Bereitstellungstools](deploy_NET_standalone_tool.md).

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](http://msdn.microsoft.com/en-us/library/dd465323.aspx).
**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 mit `Default 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](http://www.iis.net/learn/publish/using-web-deploy/packaging-and-restoring-a-web-site).
**Wichtig**  
Der Parameter `apphostconfig` muss mit `Default 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
<a name="using-features.deployment.source.test"></a>

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. 

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.