

Amazon non CodeCatalyst è più aperta a nuovi clienti. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta [Come migrare da CodeCatalyst](migration.md).

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à.

# Configurazione di un devfile per un ambiente di sviluppo
<a name="devenvironment-devfile"></a>

Un *devfile* è uno standard aperto che ti aiuta a personalizzare gli ambienti di sviluppo di tutto il team. Un devfile è un file YAML che codifica gli strumenti di sviluppo necessari. Configurando un devfile, puoi predeterminare gli strumenti di progetto e le librerie di applicazioni di cui hai bisogno e Amazon li CodeCatalyst installa nel tuo ambiente di sviluppo per te. Il devfile è specifico del repository per il quale è stato creato e puoi creare un devfile separato per ogni repository. Il tuo ambiente di sviluppo supporta comandi ed eventi e fornisce un'immagine devfile universale predefinita.

Se si crea un progetto utilizzando il blueprint vuoto, è possibile creare un devfile manualmente. Se si crea un progetto utilizzando un blueprint diverso, CodeCatalyst crea automaticamente un devfile. La `/projects` directory di un ambiente di sviluppo memorizza i file che vengono estratti dal repository di origine e dal devfile. La `/home` directory, che è vuota quando crei per la prima volta un ambiente di sviluppo, memorizza i file che crei durante l'utilizzo del tuo ambiente di sviluppo. Tutto ciò che si trova nelle `/home` directory `/projects` and di un ambiente di sviluppo viene archiviato in modo persistente.

**Nota**  
La `/home` cartella cambia solo se si modifica il nome del componente devfile o devfile. Se si modifica il nome del componente devfile o devfile, il contenuto della directory viene sostituito e i dati della `/home` `/home` directory precedente non possono essere recuperati.

Se create un ambiente di sviluppo con un repository di origine che non contiene un devfile nella radice, o se create un ambiente di sviluppo senza un archivio di origine, al repository di origine viene applicato automaticamente un devfile universale predefinito. La stessa immagine devfile universale predefinita viene utilizzata per tutti. IDEs CodeCatalyst attualmente supporta la versione 2.0.0 di devfile. Per ulteriori informazioni sul devfile, vedere [Devfile](https://devfile.io/docs/2.0.0/devfile-schema) schema - Versione 2.0.0.

**Nota**  
Puoi includere solo immagini di container pubblici nel tuo devfile.

Nota che gli ambienti di sviluppo connessi a VPC supportano solo le seguenti immagini devfile:
+ Immagine universale
+ Immagini Amazon ECR private, se il repository si trova nella stessa regione del VPC

**Topics**
+ [Modifica di un devfile del repository per un ambiente di sviluppo](devenvironment-devfile-moving.md)
+ [Funzionalità Devfile supportate da CodeCatalyst](#devenvironment-devfile-support)
+ [Esempio di devfile per un ambiente di sviluppo](#devenvironment-devfile-example)
+ [Risoluzione dei problemi relativi a un devfile del repository utilizzando la modalità di ripristino](#devenvironment-devfile-recovery)
+ [Specificare immagini devfile universali per un ambiente di sviluppo](devenvironment-universal-image.md)
+ [Comandi Devfile](devenvironment-devfile-commands.md)
+ [Eventi Devfile](devenvironment-devfile-events.md)
+ [Componenti Devfile](devenvironment-devfile-components.md)

# Modifica di un devfile del repository per un ambiente di sviluppo
<a name="devenvironment-devfile-moving"></a>

Utilizzate la seguente procedura per modificare un devfile del repository per un ambiente di sviluppo.

## Modifica di un devfile del repository per un ambiente di sviluppo in CodeCatalyst
<a name="devenvironment-devfile-procedure"></a><a name="devenvironment-devfile-steps"></a>

**Per modificare il devfile del repository**

1. [Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/.](https://codecatalyst.aws/)

1. Passa al progetto che contiene l'archivio dei sorgenti per il quale desideri modificare il devfile.

1. **Nel riquadro di navigazione, scegli Codice.**

1. Scegli **Source Repositories.**

1. Scegliete il repository di origine che contiene il devfile che desiderate modificare.

1. Dall'elenco dei file, scegli il `devfile.yaml` file.

1. Scegli **Modifica**.

1. Modifica il devfile.

1. Scegli **Commit** o crea una pull request in modo che un membro del team possa rivedere e approvare le modifiche.

**Nota**  
Se modifichi il tuo devfile, devi riavviarlo per rendere effettive le modifiche. Questo può essere fatto eseguendo. `/aws/mde/mde start --location devfile.yaml` Se c'è un problema durante l'avvio del file dev, entrerà in modalità di ripristino. Tuttavia, se modifichi un devfile associato a un ambiente di sviluppo connesso a VPC, devi invece riavviare l'ambiente di sviluppo affinché le modifiche abbiano effetto.

È possibile verificare quale devfile viene utilizzato eseguendo. `/aws/mde/mde status` Il campo location contiene il percorso del devfile relativo alla cartella dell'`/projects`ambiente.

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

Puoi anche spostare il devfile predefinito nel tuo `/projects/devfile.yaml` repository del codice sorgente. Per aggiornare la posizione del devfile, usa il seguente comando:. `/aws/mde/mde start --location repository-name/devfile.yaml`

## Modifica di un devfile di archivio per un ambiente di sviluppo in un IDE
<a name="devenvironment-devfile-ide"></a>

Per modificare la configurazione di un ambiente di sviluppo, è necessario modificare il devfile. Ti consigliamo di modificare il devfile in un IDE supportato e quindi di aggiornare il tuo ambiente di sviluppo, ma puoi anche modificare il devfile dalla radice del repository di origine in. CodeCatalyst Se modifichi il devfile in un IDE supportato, devi eseguire il commit e inviare le modifiche al repository di origine o creare una richiesta pull in modo che un membro del team possa rivedere e approvare le modifiche al devfile.
+ [Modifica del file devfile del repository per un ambiente di sviluppo in AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/devenvironment-cloud9.title.html#ide-toolkits-edit-devfile-cloud9)
+ [Modifica del devfile del repository per un ambiente di sviluppo in VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codecatalyst-devenvironment.html#codecatalyst-devenvironment-devfile)
+ [Modifica del file devfile del repository per un ambiente di sviluppo in JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/codecatalyst-overview.html#codecatalyst-overview-default)

## Funzionalità Devfile supportate da CodeCatalyst
<a name="devenvironment-devfile-support"></a>

CodeCatalyst supporta le seguenti funzionalità di devfile nella versione 2.0.0. Per ulteriori informazioni sul devfile, vedere [Devfile](https://devfile.io/docs/2.0.0/devfile-schema) schema - Versione 2.0.0.


| Funzionalità | Tipo | 
| --- | --- | 
|  `exec`  |  Comando  | 
|  `postStart`  |  Event  | 
|  `container`  |  Componente  | 
|  `args`  |  Proprietà dei componenti  | 
|  `env`  |  Proprietà dei componenti  | 
|  `mountSources`  |  Proprietà dei componenti  | 
|  `volumeMounts`  |  Proprietà dei componenti  | 

## Esempio di devfile per un ambiente di sviluppo
<a name="devenvironment-devfile-example"></a>

Quello che segue è un esempio di un semplice devfile.

```
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
```

I registri di avvio, comando ed eventi di Devfile vengono acquisiti e archiviati in. `/aws/mde/logs` Per eseguire il debug del comportamento di devfile, avvia il tuo ambiente di sviluppo utilizzando un devfile funzionante e accedi ai log.

## Risoluzione dei problemi relativi a un devfile del repository utilizzando la modalità di ripristino
<a name="devenvironment-devfile-recovery"></a>

Se c'è un problema durante l'avvio del file dev, questo entrerà in modalità di ripristino in modo che possiate comunque connettervi al vostro ambiente e correggere il vostro devfile. In modalità di ripristino, l'esecuzione `/aws/mde/mde status` non conterrà la posizione del tuo devfile.

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

Puoi controllare l'errore nei log sotto`/aws/mde/logs`, correggere il devfile e riprovare a eseguire. `/aws/mde/mde start`

# Specificare immagini devfile universali per un ambiente di sviluppo
<a name="devenvironment-universal-image"></a>

L'*immagine universale* predefinita include i linguaggi di programmazione più utilizzati e gli strumenti correlati che possono essere utilizzati per l'IDE. Se non viene specificata alcuna immagine, CodeCatalyst fornisce questa immagine e contiene strumenti gestiti da CodeCatalyst. Per rimanere informati sulle nuove versioni di immagini, consulta[Iscrizione alle notifiche universali con immagini con SNS](#devenvironment-universal-notifications).

Amazon supporta CodeCatalyst attivamente le seguenti immagini devfile:


| Versione dell’immagine | Identificatore dell'immagine | 
| --- | --- | 
| 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 | 

**Nota**  
Puoi anche usarla `public.ecr.aws/aws-mde/universal-image:latest` per ottenere l'immagine più recente, che è attualmente disponibile`public.ecr.aws/aws-mde/universal-image:5.0`.

CodeCatalyst ha reso obsolete le seguenti immagini. È ancora possibile utilizzare queste immagini, ma non verranno memorizzate nella cache dell'host di build e comporteranno un aumento dei tempi di avvio dell'ambiente di sviluppo.


| Versione dell’immagine | Identificatore dell'immagine | Data di ritiro | 
| --- | --- | --- | 
| Universal image 1.0 | public.ecr.aws/aws-mde/universal-image:1.0 | 16 agosto 2024 | 
| Universal image 2.0 | public.ecr.aws/aws-mde/universal-image:2.0 | 16 agosto 2024 | 
| Universal image 3.0 | public.ecr.aws/aws-mde/universal-image:3.0 | 30 luglio 2025 | 

**Nota**  
Se lo stai utilizzando AWS Cloud9, il completamento automatico non funzionerà per PHP, Ruby e CSS dopo l'aggiornamento a. `universal-image:3.0`

**Topics**
+ [Iscrizione alle notifiche universali con immagini con SNS](#devenvironment-universal-notifications)
+ [Versioni runtime di Universal Image 4.0](#devenvironment-universal-runtimes-4.0)
+ [Versioni runtime di Universal Image 5.0](#devenvironment-universal-runtimes-5.0)

## Iscrizione alle notifiche universali con immagini con SNS
<a name="devenvironment-universal-notifications"></a>

CodeCatalyst fornisce un servizio universale di notifica delle immagini. Puoi usarlo per abbonarti a un argomento di Amazon Simple Notification Service (SNS) che ti avvisa quando vengono rilasciati aggiornamenti CodeCatalyst universali delle immagini. Per ulteriori informazioni sugli argomenti relativi a SNS, consulta [What is Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)? .

Ogni volta che vengono rilasciate nuove immagini universali, inviamo notifiche agli abbonati; questa sezione descrive come abbonarsi agli aggiornamenti CodeCatalyst universali delle immagini.

**Messaggio di esempio**

```
{
    "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"
}
```

**Per abbonarsi agli aggiornamenti CodeCatalyst universali delle immagini utilizzando la console Amazon SNS**

1. [Apri la console Amazon SNS nel pannello di controllo.](https://console.aws.amazon.com/sns/v2/home)

1. Nella barra di navigazione, scegli il tuo Regione AWS.

1. Nel riquadro di navigazione scegliere **Subscriptions (Sottoscrizioni)**, quindi selezionare **Create subscription (Crea sottoscrizione)**.

1. In **Argomento ARN, immettere**. `arn:aws:sns:us-east-1:089793673375:universal-image-updates`

1. Per **Protocol (Protocollo)**, scegli **Email**.

1. In **Endpoint**, fornisci un indirizzo e-mail. Questo indirizzo email verrà utilizzato per ricevere notifiche.

1. Scegli **Create Subscription** (Crea sottoscrizione).

1. Riceverai un'e-mail di conferma con oggetto "AWS Notifica - Conferma dell'abbonamento». Apri l'e-mail e scegli **Conferma iscrizione**.

**Per annullare l'iscrizione agli aggiornamenti CodeCatalyst universali delle immagini utilizzando la console Amazon SNS**

1. [Apri la console Amazon SNS nel pannello di controllo.](https://console.aws.amazon.com/sns/v2/home)

1. Nella barra di navigazione, scegli il tuo Regione AWS.

1. Nel riquadro di navigazione, scegli **Abbonamenti**, quindi seleziona l'abbonamento da cui desideri annullare l'iscrizione.

1. Scegli **Azioni**, quindi scegli **Elimina** abbonamenti.

1. Scegli **Elimina**.

## Versioni runtime di Universal Image 4.0
<a name="devenvironment-universal-runtimes-4.0"></a>

La tabella seguente elenca i runtime disponibili per`universal-image:4.0`.


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

## Versioni runtime di Universal Image 5.0
<a name="devenvironment-universal-runtimes-5.0"></a>

La tabella seguente elenca i runtime disponibili per`universal-image:5.0`.


**`universal-image:5.0`versioni di runtime**  

| Nome runtime  | Versione | Versione principale e secondaria specifica | 
| --- | --- | --- | 
| clip aws |  2.25  |  `aws-cli: 2.x`  | 
| docker compone |  2.34  |  `docker-compose: 2.x`  | 
| dotnet |  8.0  |  `dotnet: 8.x`  | 
| golang |  1,24  |  `golang: 1.x`  | 
| java |  corretto 21  |  `java: corretto21.x`  | 
| nodejs |  22.0  |  `nodejs: 22.x`  | 
| php |  8,3,16  |  `php: 8.x`  | 
| python |  3,12  |  `python: 3.x`  | 
| ruby |  34,2  |  `ruby: 3.x`  | 
| terraform |  1.10.5  |  `terraform: 1.x`  | 

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

Attualmente, supporta CodeCatalyst solo i `exec` comandi nel tuo devfile. Per ulteriori informazioni, consulta [Aggiungere comandi nella documentazione](https://devfile.io/docs/2.0.0/adding-commands) di Devfile.io.

L'esempio seguente mostra come specificare i `exec` comandi nel tuo devfile.

```
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"
```

Dopo esserti connesso al tuo Dev Environment, puoi eseguire comandi definiti tramite il terminale.

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

Per i comandi a esecuzione prolungata, puoi utilizzare il flag di streaming `-s` per visualizzare l'esecuzione del comando in tempo reale.

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

**Nota**  
`command-id`deve essere in minuscolo.

## Parametri Exec supportati da CodeCatalyst
<a name="devenvironment-exec-support"></a>

CodeCatalyst supporta i seguenti `exec` parametri nella versione devfile 2.0.0.
+ `commandLine`
+ `component`
+ `id`
+ `workingDir`

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

Attualmente, supporta CodeCatalyst solo `postStart` gli eventi nel tuo devfile. Per ulteriori informazioni, consultate la [postStartObject](https://devfile.io/docs/2.0.0/adding-event-bindings#post-start-object)documentazione di Devfile.io.

L'esempio seguente mostra come aggiungere associazioni di `postStart` eventi nel tuo devfile.

```
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
```

Dopo l'avvio, il tuo Dev Environment eseguirà `postStart` i comandi specificati nell'ordine in cui sono definiti. Se un comando fallisce, Dev Environment continuerà a funzionare e l'output dell'esecuzione verrà memorizzato nei log sotto`/aws/mde/logs`.

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

Attualmente, supporta CodeCatalyst solo i `container` componenti del tuo devfile. Per ulteriori informazioni, vedete [Aggiungere componenti nella documentazione](https://devfile.io/docs/2.0.0/adding-components) di Devfile.io.

L'esempio seguente mostra come aggiungere un comando di avvio al contenitore nel devfile.

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

**Nota**  
Quando il contenitore ha un comando di immissione di breve durata, è necessario includerlo `command: ['sleep', 'infinity']` per mantenere il contenitore in esecuzione.

CodeCatalyst supporta anche le seguenti proprietà nel componente del contenitore: `args``env`,`mountSources`, e`volumeMounts`.