

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.

# Tutorial: Bereitstellen einer Anwendung auf einer lokalen Instanz mit CodeDeploy (Windows Server, Ubuntu Server oder Red Hat Enterprise Linux)
<a name="tutorials-on-premises-instance"></a>

Dieses Tutorial hilft Ihnen dabei, Erfahrungen zu sammeln, CodeDeploy indem es Sie durch die Bereitstellung einer Beispielanwendungsrevision auf einer einzelnen lokalen Instanz — d. h. einem physischen Gerät, das keine Amazon EC2 EC2-Instance ist — führt, auf der Windows Server, Ubuntu Server oder Red Hat Enterprise Linux (RHEL) ausgeführt wird. Informationen zu lokalen Instances und deren Verwendung finden Sie unter. CodeDeploy [Arbeiten mit lokalen Instanzen für CodeDeploy](instances-on-premises.md)

Nicht das, wonach Sie gesucht haben?
+ Informationen zum Bereitstellen auf einer Amazon EC2 EC2-Instance, auf der Amazon Linux oder RHEL ausgeführt wird, finden Sie unter. [Tutorial: Bereitstellung WordPress auf einer Amazon EC2 EC2-Instance (Amazon Linux oder Red Hat Enterprise Linux und Linux, macOS oder Unix)](tutorials-wordpress.md)
+ Informationen zum Bereitstellen auf einer Amazon EC2 EC2-Instance, auf der Windows Server ausgeführt wird, finden Sie unter[Tutorial: Bereite ein „Hallo, Welt\$1“ vor Anwendung mit CodeDeploy (Windows Server)](tutorials-windows.md).

**Topics**
+ [Voraussetzungen](tutorials-on-premises-instance-prerequisites.md)
+ [Schritt 1: Konfigurieren Sie die lokale Instanz](tutorials-on-premises-instance-1-configure-instance.md)
+ [Schritt 2: Erstellen Sie eine Version der Beispielanwendung](tutorials-on-premises-instance-2-create-sample-revision.md)
+ [Schritt 3: Bündeln Sie Ihre Anwendungsrevision und laden Sie sie auf Amazon S3 hoch](tutorials-on-premises-instance-3-bundle-sample-revision.md)
+ [Schritt 4: Stellen Sie die Revision Ihrer Anwendung bereit](tutorials-on-premises-instance-4-deploy-sample-revision.md)
+ [Schritt 5: Überprüfen Sie Ihre Bereitstellung](tutorials-on-premises-instance-5-verify-deployment.md)
+ [Schritt 6: Bereinigen von Ressourcen](tutorials-on-premises-instance-6-clean-up-resources.md)

# Voraussetzungen
<a name="tutorials-on-premises-instance-prerequisites"></a>

Bevor Sie mit diesem Tutorial beginnen, müssen Sie die Voraussetzungen unter erfüllen. Dazu gehören die Konfiguration eines Benutzers, die Installation oder Aktualisierung von und die AWS CLI Erstellung einer Servicerolle. [Erste Schritte mit CodeDeploy](getting-started-codedeploy.md) Sie müssen kein IAM-Instanzprofil erstellen, wie in den Voraussetzungen beschrieben. Lokale Instanzen verwenden keine IAM-Instanzprofile.

Das physische Gerät, das Sie als lokale Instance konfigurieren, muss eines der Betriebssysteme ausführen, die aufgeführt sind in [Betriebssysteme, die vom Agenten unterstützt werden CodeDeploy](codedeploy-agent.md#codedeploy-agent-supported-operating-systems).

# Schritt 1: Konfigurieren Sie die lokale Instanz
<a name="tutorials-on-premises-instance-1-configure-instance"></a>

Bevor Sie etwas auf einer lokalen Instance bereitstellen können, müssen Sie diese konfigurieren. Befolgen Sie die Anweisungen unter [Arbeiten mit lokalen Instanzen für CodeDeploy](instances-on-premises.md), und kehren Sie dann zu dieser Seite zurück.

## Installieren Sie den Agenten CodeDeploy
<a name="tutorials-on-premises-instance-1-configure-instance-agent"></a>

Nachdem Sie Ihre lokale Instanz konfiguriert haben, folgen Sie den Schritten für lokale Instanzen unter [Den CodeDeploy Agenten installieren](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html) und kehren Sie zu dieser Seite zurück.

# Schritt 2: Erstellen Sie eine Version der Beispielanwendung
<a name="tutorials-on-premises-instance-2-create-sample-revision"></a>

In diesem Schritt erstellen Sie eine Beispielanwendungsrevision, die auf der lokalen Instance bereitgestellt werden soll. 

Da es schwierig ist zu wissen, welche Software und Funktionen auf Ihrer lokalen Instanz bereits installiert sind — oder gemäß den Richtlinien Ihres Unternehmens installiert werden dürfen —, verwendet die hier angebotene Version der Beispielanwendung einfach Batchskripts (für Windows Server) oder Shellskripts (für Ubuntu Server und RHEL), um Textdateien an einen Speicherort auf Ihrer lokalen Instanz zu schreiben. Eine Datei wird für jedes von mehreren Ereignissen im CodeDeploy Bereitstellungslebenszyklus geschrieben, einschließlich **Install **AfterInstall****, **ApplicationStart**, und **ValidateService**. Während des **BeforeInstall**Bereitstellungslebenszyklus wird ein Skript ausgeführt, um alte Dateien zu entfernen, die während früherer Bereitstellungen dieses Beispiels geschrieben wurden, und um einen Speicherort auf Ihrer lokalen Instanz zu erstellen, in den die neuen Dateien geschrieben werden. 

**Anmerkung**  
Die Bereitstellung dieser Beispielanwendungsrevision schlägt fehl, wenn eine der folgenden Aussagen wahr ist:  
Der Benutzer, der den CodeDeploy Agenten auf der lokalen Instanz startet, ist nicht berechtigt, Skripts auszuführen.
Der Benutzer ist nicht berechtigt, Ordner an den in den Skripten aufgeführten Speicherorten zu erstellen oder zu löschen.
Der Benutzer ist nicht berechtigt, Textdateien an den in den Skripten aufgeführten Speicherorten zu erstellen.

**Anmerkung**  
Wenn Sie eine Windows Server-Instanz konfiguriert haben und ein anderes Beispiel bereitstellen möchten, sollten Sie das Beispiel aus [Schritt 2: Konfigurieren Sie Ihren Quellinhalt für die Bereitstellung auf der Windows Server Amazon EC2 EC2-Instance](tutorials-windows-configure-content.md) dem [Tutorial: Bereite ein „Hallo, Welt\$1“ vor Anwendung mit CodeDeploy (Windows Server)](tutorials-windows.md) Tutorial verwenden.  
Wenn Sie eine RHEL-Instanz konfiguriert haben und ein anderes Beispiel bereitstellen möchten, sollten Sie das Beispiel aus [Schritt 2: Konfigurieren Sie Ihren Quellinhalt für die Bereitstellung auf der Amazon Linux- oder Red Hat Enterprise Linux Amazon EC2 EC2-Instance](tutorials-wordpress-configure-content.md) dem [Tutorial: Bereitstellung WordPress auf einer Amazon EC2 EC2-Instance (Amazon Linux oder Red Hat Enterprise Linux und Linux, macOS oder Unix)](tutorials-wordpress.md) Tutorial verwenden.  
Derzeit gibt es kein alternatives Beispiel für Ubuntu Server.

1. Erstellen Sie auf dem Bereitstellungscomputer ein Unterverzeichnis (Unterordner) mit der Bezeichnung `CodeDeployDemo-OnPrem`, in dem die Dateien der Beispielanwendungsrevision gespeichert werden, und wechseln Sie zu diesem Unterordner. In diesem Beispiel gehen wir davon aus, dass Sie den `c:\temp` Ordner als Stammordner für Windows Server oder den `/tmp` Ordner als Stammordner für Ubuntu Server und RHEL verwenden. Wenn Sie einen anderen Ordner verwenden, müssen Sie im gesamten Tutorial unseren Ordnernamen durch Ihren Ordnernamen ersetzen: 

   Für Windows:

   ```
   mkdir c:\temp\CodeDeployDemo-OnPrem
   cd c:\temp\CodeDeployDemo-OnPrem
   ```

   Für Linux, macOS oder Unix:

   ```
   mkdir /tmp/CodeDeployDemo-OnPrem
   cd /tmp/CodeDeployDemo-OnPrem
   ```

1. Verwenden Sie im Stammverzeichnis des Unterordners `CodeDeployDemo-OnPrem` einen Texteditor zur Erstellung zweier Dateien mit den Bezeichnungen `appspec.yml` und `install.txt`:

   `appspec.yml`für Windows Server:

   ```
   version: 0.0
   os: windows
   files:
     - source: .\install.txt
       destination: c:\temp\CodeDeployExample
   hooks:
     BeforeInstall:
       - location: .\scripts\before-install.bat
         timeout: 900
     AfterInstall:
       - location: .\scripts\after-install.bat     
         timeout: 900
     ApplicationStart:
       - location: .\scripts\application-start.bat  
         timeout: 900
     ValidateService:
       - location: .\scripts\validate-service.bat    
         timeout: 900
   ```

   `appspec.yml`für Ubuntu Server und RHEL:

   ```
   version: 0.0
   os: linux
   files:
     - source: ./install.txt
       destination: /tmp/CodeDeployExample
   hooks:
     BeforeInstall:
       - location: ./scripts/before-install.sh
         timeout: 900
     AfterInstall:
       - location: ./scripts/after-install.sh
         timeout: 900
     ApplicationStart:
       - location: ./scripts/application-start.sh
         timeout: 900
     ValidateService:
       - location: ./scripts/validate-service.sh
         timeout: 900
   ```

   Weitere Informationen zu AppSpec Dateien finden Sie unter [Hinzufügen einer Anwendungsspezifikationsdatei zu einer Revision für CodeDeploy](application-revisions-appspec-file.md) und[CodeDeploy AppSpec Dateiverweis](reference-appspec-file.md).

   `install.txt`:

   ```
   The Install deployment lifecycle event successfully completed.
   ```

1. Erstellen Sie im Stammverzeichnis des Unterordners `CodeDeployDemo-OnPrem` einen Unterordner `scripts`, und wechseln Sie dann zu diesem Ordner:

   Für Windows:

   ```
   mkdir c:\temp\CodeDeployDemo-OnPrem\scripts
   cd c:\temp\CodeDeployDemo-OnPrem\scripts
   ```

   Für Linux, macOS oder Unix:

   ```
   mkdir -p /tmp/CodeDeployDemo-OnPrem/scripts
   cd /tmp/CodeDeployDemo-OnPrem/scripts
   ```

1. Verwenden Sie einen Texteditor, um im Stammverzeichnis des `scripts` Unterordners vier Dateien mit den Namen `before-install.bat``after-install.bat`,`application-start.bat`, und `validate-service.bat` für Windows Server oder, `before-install.sh` `after-install.sh``application-start.sh`, und `validate-service.sh` für Ubuntu Server und RHEL zu erstellen:

   Für Windows Server:

   `before-install.bat`:

   ```
   set FOLDER=%HOMEDRIVE%\temp\CodeDeployExample
   
   if exist %FOLDER% (
     rd /s /q "%FOLDER%"
   )
   
   mkdir %FOLDER%
   ```

   `after-install.bat`:

   ```
   cd %HOMEDRIVE%\temp\CodeDeployExample
   
   echo The AfterInstall deployment lifecycle event successfully completed. > after-install.txt
   ```

   `application-start.bat`:

   ```
   cd %HOMEDRIVE%\temp\CodeDeployExample
   
   echo The ApplicationStart deployment lifecycle event successfully completed. > application-start.txt
   ```

   `validate-service.bat`:

   ```
   cd %HOMEDRIVE%\temp\CodeDeployExample
   
   echo The ValidateService deployment lifecycle event successfully completed. > validate-service.txt
   ```

   Für Ubuntu Server und RHEL:

   `before-install.sh`:

   ```
   #!/bin/bash
   export FOLDER=/tmp/CodeDeployExample
   
   if [ -d $FOLDER ]
   then
    rm -rf $FOLDER
   fi
   
   mkdir -p $FOLDER
   ```

   `after-install.sh`:

   ```
   #!/bin/bash
   cd /tmp/CodeDeployExample
   
   echo "The AfterInstall deployment lifecycle event successfully completed." > after-install.txt
   ```

   `application-start.sh`:

   ```
   #!/bin/bash
   cd /tmp/CodeDeployExample
   
   echo "The ApplicationStart deployment lifecycle event successfully completed." > application-start.txt
   ```

   `validate-service.sh`:

   ```
   #!/bin/bash
   cd /tmp/CodeDeployExample
   
   echo "The ValidateService deployment lifecycle event successfully completed." > validate-service.txt
   
   unset FOLDER
   ```

1. Stellen Sie nur für Ubuntu Server und RHEL sicher, dass die vier Shell-Skripte über Ausführungsberechtigungen verfügen:

   ```
   chmod +x ./scripts/*
   ```

# Schritt 3: Bündeln Sie Ihre Anwendungsrevision und laden Sie sie auf Amazon S3 hoch
<a name="tutorials-on-premises-instance-3-bundle-sample-revision"></a>

Bevor Sie Ihre Anwendungsrevision bereitstellen können, müssen Sie die Dateien bündeln und dann das Dateipaket in einen Amazon S3 S3-Bucket hochladen. Befolgen Sie die Anweisungen unter [Erstellen Sie eine Anwendung mit CodeDeploy](applications-create.md) und [Eine Revision CodeDeploy auf Amazon S3 übertragen (nur EC2/On-Premises-Bereitstellungen)](application-revisions-push.md). (Sie können die Anwendung und die Bereitstellungsgruppe zwar beliebig benennen, empfohlen werden jedoch der Anwendungsname `CodeDeploy-OnPrem-App` und der Bereitstellungsgruppenname `CodeDeploy-OnPrem-DG`.) Nachdem Sie diese Anweisungen ausgeführt haben, kehren Sie zu dieser Seite zurück. 

**Anmerkung**  
Alternativ können Sie das Dateipaket in ein GitHub Repository hochladen und von dort aus bereitstellen. Weitere Informationen finden Sie unter [Integrieren CodeDeploy mit GitHub](integrations-partners-github.md).

# Schritt 4: Stellen Sie die Revision Ihrer Anwendung bereit
<a name="tutorials-on-premises-instance-4-deploy-sample-revision"></a>

Nachdem Sie Ihre Anwendungsversion in einen Amazon S3 S3-Bucket hochgeladen haben, versuchen Sie, sie auf Ihrer lokalen Instance bereitzustellen. Befolgen Sie die Anweisungen unter [Erstellen Sie eine Bereitstellung mit CodeDeploy](deployments-create.md), und kehren Sie dann zu dieser Seite zurück.

# Schritt 5: Überprüfen Sie Ihre Bereitstellung
<a name="tutorials-on-premises-instance-5-verify-deployment"></a>

Um zu überprüfen, ob die Bereitstellung erfolgreich war, befolgen Sie die Anweisungen unter [CodeDeploy Bereitstellungsdetails anzeigen](deployments-view-details.md), und dann kehren Sie zu dieser Seite zurück.

Wenn die Bereitstellung erfolgreich war, finden Sie vier Textdateien im `c:\temp\CodeDeployExample` Ordner (für Windows Server) oder `/tmp/CodeDeployExample` (für Ubuntu Server und RHEL). 

Schlug die Bereitstellung fehl, dann befolgen Sie Fehlerbehandlungsschritte unter [Instanzdetails anzeigen mit CodeDeploy](instances-view-details.md) und [Beheben von Instance-Problemen](troubleshooting-ec2-instances.md). Nehmen Sie die notwendigen Korrekturen vor, packen Sie die Anwendungsrevision erneut, laden Sie sie hoch, und versuchen Sie erneut, die Bereitstellung durchzuführen.

# Schritt 6: Bereinigen von Ressourcen
<a name="tutorials-on-premises-instance-6-clean-up-resources"></a>

Um laufende Gebühren für Ressourcen zu vermeiden, die Sie für dieses Tutorial erstellt haben, löschen Sie den Amazon S3 S3-Bucket, wenn Sie ihn nicht mehr verwenden werden. Sie können auch zugehörige Ressourcen bereinigen, z. B. die Anwendungs- und Bereitstellungsgruppeneinträge in CodeDeploy der lokalen Instance.

Sie können die AWS CLI oder eine Kombination aus den CodeDeploy und Amazon S3 S3-Konsolen und den verwenden AWS CLI , um Ressourcen zu bereinigen. 

## Ressourcen bereinigen (CLI)
<a name="tutorials-on-premises-instance-6-clean-up-resources-cli"></a>

**Um den Amazon S3 S3-Bucket zu löschen**
+ Rufen Sie den Befehl [rm](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html) mit der Befehlszeilenoption `--recursive` für den Bucket auf (z. B. `amzn-s3-demo-bucket`). Der Bucket und alle im Bucket enthaltenen Objekte werden gelöscht. 

  ```
  aws s3 rm s3://your-bucket-name --recursive --region region
  ```

**Um die Anwendungs- und Bereitstellungsgruppeneinträge zu löschen in CodeDeploy**
+ Rufen Sie den Befehl [delete-application](https://docs.aws.amazon.com/cli/latest/reference/deploy/delete-application.html) für die Anwendung auf (z. B.). `CodeDeploy-OnPrem-App` Die Datensätze für die Bereitstellung und die Bereitstellungsgruppe werden gelöscht. 

  ```
  aws deploy delete-application --application-name your-application-name
  ```<a name="tutorials-on-premises-instance-6-clean-up-resources-deregister-cli"></a>

**Um die Registrierung der lokalen Instanz aufzuheben und den IAM-Benutzer zu löschen**
+ Rufen Sie den Befehl [deregister](https://docs.aws.amazon.com/cli/latest/reference/deploy/deregister.html) für die lokale Instanz und Region auf:

  ```
  aws deploy deregister --instance-name your-instance-name --delete-iam-user --region your-region
  ```
**Anmerkung**  
Wenn Sie den mit dieser lokalen Instanz verknüpften IAM-Benutzer nicht löschen möchten, verwenden Sie stattdessen die Option. `--no-delete-iam-user`

**Um den CodeDeploy Agenten zu deinstallieren und die Konfigurationsdatei aus der lokalen Instanz zu entfernen**
+ Rufen Sie von der lokalen Instanz aus den [Deinstallationsbefehl](https://docs.aws.amazon.com/cli/latest/reference/deploy/uninstall.html) auf:

  ```
  aws deploy uninstall
  ```

Sie haben jetzt alle Schritte ausgeführt, um die Ressourcen zu bereinigen, die in diesem Tutorial verwendet wurden.

## Ressourcen bereinigen (Konsole)
<a name="tutorials-on-premises-instance-6-clean-up-resources-console"></a>

**Um den Amazon S3 S3-Bucket zu löschen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie das Symbol neben dem Bucket aus, den Sie löschen möchten (z. B. `amzn-s3-demo-bucket`), ohne jedoch den Bucket auszuwählen.

1. Wählen Sie **Aktionen** und anschließend **Löschen** aus. 

1. Wenn Sie zum Löschen des Buckets aufgefordert werden, wählen Sie **OK**. 

**Um die Anwendungs- und Bereitstellungsgruppeneinträge zu löschen CodeDeploy**

1. Melden Sie sich bei [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) an AWS-Managementkonsole und öffnen Sie die CodeDeploy Konsole.
**Anmerkung**  
Melden Sie sich mit demselben Benutzer an, den Sie eingerichtet haben. [Erste Schritte mit CodeDeploy](getting-started-codedeploy.md)

1. Wählen Sie im Navigationsbereich **Applications (Anwendungen)** aus.

1. Wählen Sie den Namen der Anwendung aus, die Sie löschen möchten (z. B. `CodeDeploy-OnPrem-App`) und klicken Sie auf **Delete Application (Anwendung löschen)**.

1. Geben Sie bei Aufforderung den Namen der Anwendung ein, um das Löschen zu bestätigen, und klicken Sie auf **Delete (Löschen)**. 

Sie können die AWS CodeDeploy Konsole nicht verwenden, um die lokale Instanz abzumelden oder den Agenten zu deinstallieren. CodeDeploy Folgen Sie den Anweisungen in [Um die Registrierung der lokalen Instanz aufzuheben und den IAM-Benutzer zu löschen](#tutorials-on-premises-instance-6-clean-up-resources-deregister-cli).