

Amazon CodeCatalyst ist nicht mehr offen für Neukunden. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Wie migriert man von CodeCatalyst](migration.md).

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.

# Konfiguration einer Dev-Datei für eine Entwicklungsumgebung
<a name="devenvironment-devfile"></a>

Eine *Dev-Datei* ist ein offener Standard, mit dem Sie Ihre Entwicklungsumgebungen in Ihrem Team individuell anpassen können. Eine Dev-Datei ist eine YAML-Datei, die Ihre benötigten Entwicklungstools kodifiziert. Durch die Konfiguration einer Dev-Datei können Sie vorab festlegen, welche Projekttools und Anwendungsbibliotheken Sie benötigen, und Amazon CodeCatalyst installiert sie für Sie in Ihrer Entwicklungsumgebung. Die Dev-Datei ist spezifisch für das Repository, für das sie erstellt wurde, und Sie können für jedes Repository eine separate Dev-Datei erstellen. Ihre Entwicklungsumgebung unterstützt Befehle und Ereignisse und stellt ein standardmäßiges universelles Devfile-Image bereit.

Wenn Sie ein Projekt mit dem leeren Blueprint erstellen, können Sie eine Dev-Datei manuell erstellen. Wenn Sie ein Projekt mit einem anderen Blueprint erstellen, CodeCatalyst wird automatisch eine Dev-Datei erstellt. Das `/projects` Verzeichnis einer Entwicklungsumgebung speichert die Dateien, die aus dem Quell-Repository und der Dev-Datei abgerufen werden. Das `/home` Verzeichnis, das leer ist, wenn Sie zum ersten Mal eine Entwicklungsumgebung erstellen, speichert die Dateien, die Sie während der Verwendung Ihrer Entwicklungsumgebung erstellen. Alles in den `/home` Verzeichnissen `/projects` und einer Entwicklungsumgebung wird persistent gespeichert.

**Anmerkung**  
Der `/home` Ordner ändert sich nur, wenn Sie den Namen der Dev-Datei oder der Devfile-Komponente ändern. Wenn Sie den Namen der Devfile- oder Devfile-Komponente ändern, wird der Inhalt des `/home` Verzeichnisses ersetzt und Ihre vorherigen `/home` Verzeichnisdaten können nicht wiederhergestellt werden.

Wenn Sie eine Entwicklungsumgebung mit einem Quell-Repository erstellen, das keine Dev-Datei im Stammverzeichnis enthält, oder wenn Sie eine Entwicklungsumgebung ohne Quell-Repository erstellen, wird automatisch eine standardmäßige universelle Dev-Datei auf das Quell-Repository angewendet. Für alle wird dasselbe standardmäßige universelle Devfile-Image verwendet. IDEs CodeCatalyst unterstützt derzeit die Devfile-Version 2.0.0. Weitere Informationen zur Dev-Datei finden Sie unter [Devfile-Schema — Version 2.0.0](https://devfile.io/docs/2.0.0/devfile-schema).

**Anmerkung**  
Sie können nur öffentliche Container-Images in Ihre Devfile-Datei aufnehmen.

Beachten Sie, dass VPC-verbundene Entwicklungsumgebungen nur die folgenden Devfile-Images unterstützen:
+ Universelles Image
+ Private Amazon ECR-Images, wenn sich das Repository in derselben Region wie die VPC befindet

**Topics**
+ [Bearbeiten einer Repository-Dev-Datei für eine Entwicklungsumgebung](devenvironment-devfile-moving.md)
+ [Devfile-Funktionen werden unterstützt von CodeCatalyst](#devenvironment-devfile-support)
+ [Beispiel für eine Dev-Datei für eine Entwicklungsumgebung](#devenvironment-devfile-example)
+ [Fehlerbehebung bei einer Repository-Dev-Datei im Wiederherstellungsmodus](#devenvironment-devfile-recovery)
+ [Spezifizierung universeller Devfile-Images für eine Entwicklungsumgebung](devenvironment-universal-image.md)
+ [Devfile-Befehle](devenvironment-devfile-commands.md)
+ [Devfile-Ereignisse](devenvironment-devfile-events.md)
+ [Devfile-Komponenten](devenvironment-devfile-components.md)

# Bearbeiten einer Repository-Dev-Datei für eine Entwicklungsumgebung
<a name="devenvironment-devfile-moving"></a>

Gehen Sie wie folgt vor, um eine Repository-Dev-Datei für eine Entwicklungsumgebung zu bearbeiten.

## Bearbeiten einer Repository-Devdatei für eine Entwicklungsumgebung in CodeCatalyst
<a name="devenvironment-devfile-procedure"></a><a name="devenvironment-devfile-steps"></a>

**Um die Repository-Dev-Datei zu bearbeiten**

1. Öffnen Sie die CodeCatalyst Konsole unter [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigieren Sie zu dem Projekt, das das Quell-Repository enthält, für das Sie die Dev-Datei bearbeiten möchten.

1. Wählen Sie im Navigationsbereich **Code aus.**

1. Wählen Sie **Source Repositories** aus.

1. Wählen Sie das Quell-Repository, das die Dev-Datei enthält, die Sie bearbeiten möchten.

1. Wählen Sie die Datei aus der `devfile.yaml` Dateiliste aus.

1. Wählen Sie **Bearbeiten** aus.

1. Bearbeiten Sie die Dev-Datei.

1. Wähle **Commit** oder erstelle eine Pull-Anfrage, damit ein Teammitglied die Änderungen überprüfen und genehmigen kann.

**Anmerkung**  
Wenn Sie Ihre Dev-Datei bearbeiten, müssen Sie die Dev-Datei neu starten, damit die Änderungen wirksam werden. Dies kann durch Ausführen geschehen. `/aws/mde/mde start --location devfile.yaml` Wenn beim Starten Ihrer Dev-Datei ein Problem auftritt, wechselt sie in den Wiederherstellungsmodus. Wenn Sie jedoch eine Dev-Datei bearbeiten, die mit einer VPC-verbundenen Entwicklungsumgebung verknüpft ist, müssen Sie stattdessen die Entwicklungsumgebung neu starten, damit die Änderungen wirksam werden.

Sie können überprüfen, welche Dev-Datei verwendet wird, indem Sie Folgendes ausführen. `/aws/mde/mde status` Das Ortsfeld enthält den Pfad der Dev-Datei relativ zum Ordner der `/projects` Umgebung.

```
{
            "status": "STABLE",
            "location": "devfile.yaml"
        }
```

Sie können die Standard-Dev-Datei auch in `/projects/devfile.yaml` Ihr Quellcode-Repository verschieben. Verwenden Sie den folgenden Befehl, um den Speicherort der Dev-Datei zu aktualisieren:. `/aws/mde/mde start --location repository-name/devfile.yaml`

## Bearbeiten einer Repository-Devdatei für eine Entwicklungsumgebung in einer IDE
<a name="devenvironment-devfile-ide"></a>

Um die Konfiguration einer Entwicklungsumgebung zu ändern, müssen Sie die Dev-Datei bearbeiten. Wir empfehlen, dass Sie die Dev-Datei in einer unterstützten IDE bearbeiten und dann Ihre Entwicklungsumgebung aktualisieren. Sie können die Dev-Datei aber auch vom Stammverzeichnis des Quell-Repositorys aus bearbeiten. CodeCatalyst Wenn Sie die Dev-Datei in einer unterstützten IDE bearbeiten, müssen Sie Ihre Änderungen übertragen und in das Quell-Repository übertragen oder eine Pull-Anfrage erstellen, damit ein Teammitglied die Änderungen an der Devdatei überprüfen und genehmigen kann.
+ [Bearbeiten der Repository-Devdatei für eine Entwicklungsumgebung in AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/devenvironment-cloud9.title.html#ide-toolkits-edit-devfile-cloud9)
+ [Bearbeiten der Repository-Devdatei für eine Entwicklungsumgebung in VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codecatalyst-devenvironment.html#codecatalyst-devenvironment-devfile)
+ [Bearbeiten der Repository-Devdatei für eine Entwicklungsumgebung in JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/codecatalyst-overview.html#codecatalyst-overview-default)

## Devfile-Funktionen werden unterstützt von CodeCatalyst
<a name="devenvironment-devfile-support"></a>

CodeCatalyst unterstützt die folgenden Devfile-Funktionen in Version 2.0.0. Weitere Informationen zur Dev-Datei finden Sie unter [Devfile-Schema — Version 2.0.0](https://devfile.io/docs/2.0.0/devfile-schema).


| Feature | Typ | 
| --- | --- | 
|  `exec`  |  Befehl  | 
|  `postStart`  |  Veranstaltung  | 
|  `container`  |  Komponente  | 
|  `args`  |  Eigenschaften der Komponenten  | 
|  `env`  |  Eigenschaften der Komponenten  | 
|  `mountSources`  |  Eigenschaften der Komponenten  | 
|  `volumeMounts`  |  Eigenschaften der Komponenten  | 

## Beispiel für eine Dev-Datei für eine Entwicklungsumgebung
<a name="devenvironment-devfile-example"></a>

Das Folgende ist ein Beispiel für eine einfache Dev-Datei.

```
schemaVersion: 2.0.0
metadata:
  name: al2
components:
  - name: test
    container:
      image: public.ecr.aws/amazonlinux/amazonlinux:2
      mountSources: true
      command: ['sleep', 'infinity']
  - name: dockerstore
commands:
  - id: setupscript
    exec:
      component: test
      commandLine: "chmod +x script.sh"
      workingDir: /projects/devfiles
  - id: executescript
    exec:
      component: test
      commandLine: "/projects/devfiles/script.sh"
  - id: yumupdate
    exec:
      component: test
      commandLine: "yum -y update --security"
events:
  postStart:
    - setupscript
    - executescript
    - yumupdate
```

Start-, Befehls- und Ereignisprotokolle von Devfiles werden erfasst und gespeichert in. `/aws/mde/logs` Um das Verhalten von Devfiles zu debuggen, starten Sie Ihre Entwicklungsumgebung mit einer funktionierenden Dev-Datei und greifen Sie auf die Protokolle zu.

## Fehlerbehebung bei einer Repository-Dev-Datei im Wiederherstellungsmodus
<a name="devenvironment-devfile-recovery"></a>

Falls es ein Problem gibt, Ihre Dev-Datei zu starten, wechselt sie in den Wiederherstellungsmodus, sodass Sie immer noch eine Verbindung zu Ihrer Umgebung herstellen und Ihre Dev-Datei reparieren können. Wenn Sie sich im Wiederherstellungsmodus befinden, enthält die Ausführung `/aws/mde/mde status` nicht den Speicherort Ihrer Dev-Datei.

```
{
            "status": "STABLE"
        }
```

Sie können den Fehler in den Protokollen unter überprüfen`/aws/mde/logs`, die Dev-Datei korrigieren und erneut versuchen, es auszuführen`/aws/mde/mde start`.

# Spezifizierung universeller Devfile-Images für eine Entwicklungsumgebung
<a name="devenvironment-universal-image"></a>

Das standardmäßige *Universal-Image* enthält die am häufigsten verwendeten Programmiersprachen und zugehörige Tools, die für Ihre IDE verwendet werden können. Wenn kein Bild angegeben ist, CodeCatalyst stellt es dieses Bild bereit und enthält Tools, die von verwaltet werden CodeCatalyst. Informationen darüber, wie Sie über neue Image-Versionen informiert werden, finden Sie unter[Universelle Bildbenachrichtigungen mit SNS abonnieren](#devenvironment-universal-notifications).

Amazon unterstützt CodeCatalyst aktiv die folgenden Devfile-Images:


| Image-Version | Image-Kennung | 
| --- | --- | 
| Universal image 4.0 | public.ecr.aws/aws-mde/universal-image:4.0 | 
| Universal image 5.0 | public.ecr.aws/aws-mde/universal-image:5.0 | 

**Anmerkung**  
Sie können es auch verwenden`public.ecr.aws/aws-mde/universal-image:latest`, um das neueste Image abzurufen, das derzeit `public.ecr.aws/aws-mde/universal-image:5.0` verfügbar ist.

CodeCatalyst hat die folgenden Bilder als veraltet markiert. Sie können diese Images weiterhin verwenden, sie werden jedoch nicht auf dem Build-Host zwischengespeichert, was zu längeren Startzeiten der Entwicklungsumgebung führt.


| Image-Version | Image-Kennung | Datum der Veraltung | 
| --- | --- | --- | 
| Universal image 1.0 | public.ecr.aws/aws-mde/universal-image:1.0 | 16. August 2024 | 
| Universal image 2.0 | public.ecr.aws/aws-mde/universal-image:2.0 | 16. August 2024 | 
| Universal image 3.0 | public.ecr.aws/aws-mde/universal-image:3.0 | 30. Juli 2025 | 

**Anmerkung**  
Wenn Sie verwenden AWS Cloud9, funktioniert die automatische Vervollständigung nach dem Upgrade auf nicht für PHP, Ruby und CSS. `universal-image:3.0`

**Topics**
+ [Universelle Bildbenachrichtigungen mit SNS abonnieren](#devenvironment-universal-notifications)
+ [Universal Image 4.0-Laufzeitversionen](#devenvironment-universal-runtimes-4.0)
+ [Laufzeitversionen von Universal Image 5.0](#devenvironment-universal-runtimes-5.0)

## Universelle Bildbenachrichtigungen mit SNS abonnieren
<a name="devenvironment-universal-notifications"></a>

CodeCatalyst bietet einen universellen Dienst für Bildbenachrichtigungen. Sie können damit ein Amazon Simple Notification Service (SNS) -Thema abonnieren, das Sie benachrichtigt, wenn CodeCatalyst Universal-Image-Updates veröffentlicht wurden. Weitere Informationen zu SNS-Themen finden Sie unter [Was ist Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)? .

Immer wenn neue Universal-Images veröffentlicht werden, senden wir Benachrichtigungen an Abonnenten. In diesem Abschnitt wird beschrieben, wie Sie CodeCatalyst Universal-Image-Updates abonnieren können.

**Beispielnachricht**

```
{
    "Type": "Notification",
    "MessageId": "123456789",
    "TopicArn": "arn:aws:sns:us-east-1:1234657890:universal-image-updates",
    "Subject": "New Universal Image Release",
    "Message": {
        "v1": {
            "Message": "A new version of the Universal Image has been released. You are now able to launch new DevEnvironments using this image.",
            "image ": {
                "release_type": "MAJOR VERSION",
                "image_name": "universal-image",
                "image_version": "2.0",
                "image_uri": "public.ecr.aws/amazonlinux/universal-image:2.0"
            }
        }
    },
    "Timestamp": "2021-09-03T19:05:57.882Z",
    "UnsubscribeURL": "example url"
}
```

**Um CodeCatalyst universelle Image-Updates über die Amazon SNS SNS-Konsole zu abonnieren**

1. Öffnen Sie die Amazon SNS SNS-Konsole zum [Dashboard](https://console.aws.amazon.com/sns/v2/home).

1. Wählen Sie in der Navigationsleiste Ihre AWS-Region.

1. Wählen Sie im Navigationsbereich **Subscriptions** (Abonnements) und dann **Create subscription** (Abonnement erstellen) aus.

1. Geben Sie im Feld **Thema ARN** den Text ein`arn:aws:sns:us-east-1:089793673375:universal-image-updates`.

1. Wählen Sie unter **Protocol (Protokoll)** die Option **Email (E-Mail)** aus.

1. Geben Sie in **Endpoint** eine E-Mail-Adresse ein. Diese E-Mail-Adresse wird für den Empfang von Benachrichtigungen verwendet.

1. Wählen Sie **Create subscription** (Abonnement erstellen) aus.

1. Sie erhalten eine Bestätigungs-E-Mail mit dem Betreff „AWS Benachrichtigung — Abonnementbestätigung“. Öffnen Sie die E-Mail und wählen Sie **Abonnement bestätigen**.

**Um sich über die Amazon SNS SNS-Konsole von CodeCatalyst universellen Image-Updates abzumelden**

1. Öffnen Sie die Amazon SNS SNS-Konsole zum [Dashboard](https://console.aws.amazon.com/sns/v2/home).

1. Wählen Sie in der Navigationsleiste Ihre AWS-Region.

1. Wählen Sie im Navigationsbereich **Abonnements** und dann das Abonnement aus, von dem Sie sich abmelden möchten.

1. Wählen Sie **Aktionen** und dann **Abonnements löschen** aus.

1. Wählen Sie **Löschen** aus.

## Universal Image 4.0-Laufzeitversionen
<a name="devenvironment-universal-runtimes-4.0"></a>

In der folgenden Tabelle sind die verfügbaren Laufzeiten für `universal-image:4.0` aufgeführt.


**`universal-image:4.0`Laufzeitversionen**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/codecatalyst/latest/userguide/devenvironment-universal-image.html)

## Laufzeitversionen von Universal Image 5.0
<a name="devenvironment-universal-runtimes-5.0"></a>

In der folgenden Tabelle sind die verfügbaren Laufzeiten für `universal-image:5.0` aufgeführt.


**`universal-image:5.0`Laufzeitversionen**  

| Laufzeitname  | Version | Spezifische Haupt- und neueste Unterversion | 
| --- | --- | --- | 
| AWS-CLI |  2,25  |  `aws-cli: 2.x`  | 
| Docker Compose |  2,34  |  `docker-compose: 2.x`  | 
| dotnet |  8.0  |  `dotnet: 8.x`  | 
| Golang |  1,24  |  `golang: 1.x`  | 
| Java |  Korretto 21  |  `java: corretto21.x`  | 
| nodejs |  22,0  |  `nodejs: 22.x`  | 
| php |  8.3.16  |  `php: 8.x`  | 
| python |  3.12  |  `python: 3.x`  | 
| ruby |  3.4.2  |  `ruby: 3.x`  | 
| Terraform |  1.10.5  |  `terraform: 1.x`  | 

# Devfile-Befehle
<a name="devenvironment-devfile-commands"></a>

Unterstützt derzeit CodeCatalyst nur `exec` Befehle in Ihrer Dev-Datei. Weitere Informationen finden Sie unter [Befehle hinzufügen](https://devfile.io/docs/2.0.0/adding-commands) in der Devfile.io-Dokumentation.

Das folgende Beispiel zeigt Ihnen, wie Sie `exec` Befehle in Ihrer Dev-Datei angeben.

```
commands:
  - id: setupscript
    exec:
      component: test
      commandLine: "chmod +x script.sh"
      workingDir: /projects/devfiles
  - id: executescript
    exec:
      component: test
      commandLine: "./projects/devfiles/script.sh"
  - id: updateyum
    exec:
      component: test
      commandLine: "yum -y update --security"
```

Nachdem Sie mit Ihrer Entwicklungsumgebung verbunden sind, können Sie definierte Befehle über das Terminal ausführen.

```
/aws/mde/mde command <command-id>
/aws/mde/mde command executescript
```

Bei Befehlen mit langer Laufzeit können Sie das Streaming-Flag verwenden`-s`, um die Ausführung des Befehls in Echtzeit auszugeben.

```
/aws/mde/mde -s command <command-id>
```

**Anmerkung**  
`command-id`muss in Kleinbuchstaben geschrieben werden.

## Exec-Parameter werden unterstützt von CodeCatalyst
<a name="devenvironment-exec-support"></a>

CodeCatalyst unterstützt die folgenden `exec` Parameter in der Devfile-Version 2.0.0.
+ `commandLine`
+ `component`
+ `id`
+ `workingDir`

# Devfile-Ereignisse
<a name="devenvironment-devfile-events"></a>

Unterstützt derzeit CodeCatalyst nur `postStart` Ereignisse in Ihrer Dev-Datei. Weitere Informationen finden Sie [postStartObject](https://devfile.io/docs/2.0.0/adding-event-bindings#post-start-object)in der Devfile.io-Dokumentation.

Das folgende Beispiel zeigt Ihnen, wie Sie Ihrer Dev-Datei `postStart` Event-Bindungen hinzufügen.

```
commands:
  - id: executescript
    exec:
      component: test
      commandLine: "./projects/devfiles/script.sh"
  - id: updateyum
    exec:
      component: test
      commandLine: "yum -y update --security"
events:
  postStart:
    - updateyum
    - executescript
```

Nach dem Start führt Ihre Entwicklungsumgebung die angegebenen `postStart` Befehle in der Reihenfolge aus, in der sie definiert sind. Wenn ein Befehl fehlschlägt, läuft die Entwicklungsumgebung weiter und die Ausführungsausgabe wird in den Protokollen unter gespeichert`/aws/mde/logs`.

# Devfile-Komponenten
<a name="devenvironment-devfile-components"></a>

Unterstützt derzeit CodeCatalyst nur `container` Komponenten in Ihrer Dev-Datei. Weitere Informationen finden Sie unter [Hinzufügen von Komponenten](https://devfile.io/docs/2.0.0/adding-components) in der Devfile.io-Dokumentation.

Das folgende Beispiel zeigt Ihnen, wie Sie Ihrem Container in Ihrer Dev-Datei einen Startbefehl hinzufügen.

```
components:
  - name: test
    container:
      image: public.ecr.aws/amazonlinux/amazonlinux:2
      command: ['sleep', 'infinity']
```

**Anmerkung**  
Wenn der Container einen kurzlebigen Eingabebefehl hat, müssen Sie diesen einschließen, `command: ['sleep', 'infinity']` um den Container am Laufen zu halten.

CodeCatalyst unterstützt auch die folgenden Eigenschaften in Ihrer Container-Komponente: `args``env`,`mountSources`, und`volumeMounts`.