

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

# Condivisione di artefatti e file tra azioni
<a name="workflows-working-artifacts"></a>

Un *artefatto* è l'output di un'azione del flusso di lavoro e in genere è costituito da una cartella o da un archivio di file. Gli artefatti sono importanti perché consentono di condividere file e informazioni tra le azioni.

*Ad esempio, potresti avere un'azione di compilazione che *genera* un `sam-template.yml` file, ma desideri un'azione di distribuzione per utilizzarla.* In questo scenario, si utilizzerebbe un artefatto per consentire all'azione di compilazione di condividere il `sam-template.yml` file con l'azione di distribuzione. Il codice potrebbe essere simile al seguente:

```
Actions:
  BuildAction:
    Identifier: aws/build@v1
    Steps:
      - Run: sam package --output-template-file sam-template.yml
    Outputs:
      Artifacts:
        - Name: MYARTIFACT
          Files:
            - sam-template.yml
  DeployAction:
    Identifier: aws/cfn-deploy@v1  
    Inputs:
      Artifacts:
        - MYARTIFACT
    Configuration:
      template: sam-template.yml
```

Nel codice precedente, l'azione build (`BuildAction`) genera un `sam-template.yml` file e quindi lo aggiunge a un artefatto di output chiamato. `MYARTIFACT` Una successiva deploy action (`DeployAction`) specifica `MYARTIFACT` come input l'accesso al file. `sam-template.yml`

**Topics**
+ [Posso condividere gli artefatti senza specificarli come output e input?](#workflows-working-artifacts-share)
+ [Posso condividere artefatti tra flussi di lavoro?](#workflows-working-artifacts-share-wf)
+ [Esempi di manufatti](workflows-working-artifacts-ex.md)
+ [Definizione di un artefatto di output](workflows-working-artifacts-output.md)
+ [Definizione di un artefatto di input](workflows-working-artifacts-refer.md)
+ [Riferimento ai file in un artefatto](workflows-working-artifacts-refer-files.md)
+ [Scaricamento di artefatti](workflows-download-workflow-outputs.md)

## Posso condividere gli artefatti senza specificarli come output e input?
<a name="workflows-working-artifacts-share"></a>

Sì, puoi condividere artefatti tra azioni senza specificarli nelle sezioni e del codice YAML delle tue azioni. `Outputs` `Inputs` Per fare ciò, devi attivare la condivisione del calcolo. Per ulteriori informazioni sulla condivisione del calcolo e su come specificare gli artefatti quando è attivata, consulta. [Condivisione dell'elaborazione tra le azioni](compute-sharing.md) 

**Nota**  
Sebbene la funzionalità di condivisione del calcolo consenta di semplificare il codice YAML del flusso di lavoro eliminando la necessità delle `Inputs` sezioni `Outputs` e, è necessario conoscere alcune limitazioni prima di attivarla. Per informazioni su queste limitazioni, consulta. [Considerazioni sulla condivisione del calcolo](compute-sharing.md#compare-compute-sharing)

## Posso condividere artefatti tra flussi di lavoro?
<a name="workflows-working-artifacts-share-wf"></a>

No, non puoi condividere artefatti tra flussi di lavoro diversi; tuttavia, puoi condividere artefatti tra azioni all'interno dello stesso flusso di lavoro.

# Esempi di manufatti
<a name="workflows-working-artifacts-ex"></a>

I seguenti esempi mostrano come generare, inserire e fare riferimento agli artefatti nel file di definizione del CodeCatalyst flusso di lavoro di Amazon.

**Topics**
+ [Esempio: output di un artefatto](#workflows-working-artifacts-ex-basic)
+ [Esempio: inserimento di un artefatto generato da un'altra azione](#workflows-working-artifacts-ex-ref)
+ [Esempio: riferimento a file in più artefatti](#workflows-working-artifacts-ex-ref-file)
+ [Esempio: fare riferimento a un file in un singolo artefatto](#workflows-working-artifacts-ex-ref-file-one)
+ [Esempio: fare riferimento a un file in un artefatto quando è presente un WorkflowSource](#workflows-working-artifacts-ex-ref-file-wf-source)
+ [Esempio: fare riferimento a un file in un artefatto quando è presente un gruppo di azioni](#workflows-working-artifacts-ex-groups)

## Esempio: output di un artefatto
<a name="workflows-working-artifacts-ex-basic"></a>

L'esempio seguente mostra come generare un artefatto che include due file.jar.

```
Actions:
  Build:
    Identifier: aws/build@v1
    Outputs:
      Artifacts:
        - Name: ARTIFACT1
          Files:
            - build-output/file1.jar
            - build-output/file2.jar
```

## Esempio: inserimento di un artefatto generato da un'altra azione
<a name="workflows-working-artifacts-ex-ref"></a>

L'esempio seguente mostra come generare un artefatto chiamato e `ARTIFACT4` inserirlo in`BuildActionA`. `BuildActionB`

```
Actions:
  BuildActionA:
    Identifier: aws/build@v1  
    Outputs:
      Artifacts:
        - Name: ARTIFACT4
          Files:
            - build-output/file1.jar
            - build-output/file2.jar
  BuildActionB:
    Identifier: aws/build@v1  
    Inputs:
      Artifacts:
        - ARTIFACT4
    Configuration:
```

## Esempio: riferimento a file in più artefatti
<a name="workflows-working-artifacts-ex-ref-file"></a>

L'esempio seguente mostra come generare due artefatti denominati `ART5` e `ART6` in `BuildActionC` e quindi fare riferimento a due file denominati `file5.txt` (in artifact`ART5`) e (in artifact) in `file6.txt` (under). `ART6` `BuildActionD` `Steps`

**Nota**  
Per ulteriori informazioni sulla referenziazione dei file, vedere. [Riferimento ai file in un artefatto](workflows-working-artifacts-refer-files.md)

**Nota**  
Sebbene l'esempio mostri il `$CATALYST_SOURCE_DIR_ART5` prefisso utilizzato, è possibile ometterlo. Questo perché `ART5` è l'input *principale*. Per ulteriori informazioni sull'input principale, consulta[Riferimento ai file in un artefatto](workflows-working-artifacts-refer-files.md). 

```
Actions:
  BuildActionC:
    Identifier: aws/build@v1  
    Outputs:
      Artifacts:
        - Name: ART5
          Files:
            - build-output/file5.txt
        - Name: ART6
          Files:
            - build-output/file6.txt
  BuildActionD:
    Identifier: aws/build@v1  
    Inputs:
      Artifacts:
        - ART5
        - ART6
    Configuration:
      Steps:
        - run: cd $CATALYST_SOURCE_DIR_ART5/build-output && cat file5.txt
        - run: cd $CATALYST_SOURCE_DIR_ART6/build-output && cat file6.txt
```

## Esempio: fare riferimento a un file in un singolo artefatto
<a name="workflows-working-artifacts-ex-ref-file-one"></a>

L'esempio seguente mostra come generare un elemento denominato `ART7` in e quindi fare riferimento `file7.txt` (nell'`BuildActionE`artefatto`ART7`) in (sotto). `BuildActionF` `Steps`

Notate come il riferimento non richieda il `$CATALYST_SOURCE_DIR_` *artifact-name* prefisso davanti alla `build-output` directory come accadeva in. [Esempio: riferimento a file in più artefatti](#workflows-working-artifacts-ex-ref-file) Questo perché c'è solo un elemento specificato in`Inputs`.

**Nota**  
Per ulteriori informazioni sui file di riferimento, vedere[Riferimento ai file in un artefatto](workflows-working-artifacts-refer-files.md).

```
Actions:
  BuildActionE:
    Identifier: aws/build@v1  
    Outputs:
      Artifacts:
        - Name: ART7
          Files:
            - build-output/file7.txt
  BuildActionF:
    Identifier: aws/build@v1  
    Inputs:
      Artifacts:
        - ART7
    Configuration:
      Steps:
        - run: cd build-output && cat file7.txt
```

## Esempio: fare riferimento a un file in un artefatto quando è presente un WorkflowSource
<a name="workflows-working-artifacts-ex-ref-file-wf-source"></a>

L'esempio seguente mostra come generare un elemento denominato `ART8` in e quindi fare riferimento `file8.txt` (nell'`BuildActionG`artefatto`ART8`) in (sotto). `BuildActionH` `Steps`

Notate come il riferimento richieda il `$CATALYST_SOURCE_DIR_` *artifact-name* prefisso, come accadeva in. [Esempio: riferimento a file in più artefatti](#workflows-working-artifacts-ex-ref-file) Questo perché ci sono più elementi specificati in `Inputs` (una fonte e un artefatto), quindi è necessario il prefisso per indicare dove cercare il file.

**Nota**  
Per ulteriori informazioni sulla referenziazione dei file, vedere. [Riferimento ai file in un artefatto](workflows-working-artifacts-refer-files.md)

```
Actions:
  BuildActionG:
    Identifier: aws/build@v1  
    Outputs:
      Artifacts:
        - Name: ART8
          Files:
            - build-output/file8.txt
  BuildActionH:
    Identifier: aws/build@v1  
    Inputs:
      Sources:
        - WorkflowSource
      Artifacts:
        - ART8
    Configuration:
      Steps:
        - run: cd $CATALYST_SOURCE_DIR_ART8/build-output && cat file8.txt
```

## Esempio: fare riferimento a un file in un artefatto quando è presente un gruppo di azioni
<a name="workflows-working-artifacts-ex-groups"></a>

L'esempio seguente mostra come generare un artefatto denominato `ART9` in e quindi fare riferimento `file9.txt` (in `ActionGroup1` un artefatto) in. `ActionI` `ART9` `ActionJ`

Per ulteriori informazioni sulla referenziazione dei file, vedere. [Riferimento ai file in un artefatto](workflows-working-artifacts-refer-files.md)

```
Actions:
  ActionGroup1:
    Actions:
      ActionI:
        Identifier: aws/build@v1
        Outputs:
          Artifacts:
            - Name: ART9
              Files:
                - build-output/file9.yml
      ActionJ:
        Identifier: aws/cfn-deploy@v1 
        Inputs:
          Sources:
            - WorkflowSource
          Artifacts:
            - ART9
        Configuration:
          template: /artifacts/ActionGroup1@ActionJ/ART9/build-output/file9.yml
```

# Definizione di un artefatto di output
<a name="workflows-working-artifacts-output"></a>

Utilizza le seguenti istruzioni per definire un artefatto che desideri venga generato da CodeCatalyst un'azione Amazon. Questo artefatto diventa quindi disponibile per altre azioni da utilizzare.

**Nota**  
Non tutte le azioni supportano gli artefatti di output. **Per determinare se la tua azione li supporta, segui le istruzioni dell'editor visivo che seguono e verifica se l'azione include un pulsante relativo agli **artefatti di output** nella scheda Output.** Se sì, gli artefatti di output sono supportati. 

------
#### [ Visual ]

**Per definire un artefatto di output utilizzando l'editor visuale**

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

1. Scegliere il progetto.

1. **Nel riquadro di navigazione, scegli **CI/CD**, quindi scegli Flussi di lavoro.**

1. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

1. Scegli **Modifica**.

1. Scegli **Visual**.

1. Nel diagramma del flusso di lavoro, scegli l'azione che produrrà l'artefatto.

1. Seleziona la scheda **Outputs (Output)**.

1. **In **Artefatti, scegli Aggiungi artefatto**.**

1. Scegli **Aggiungi artefatto** e inserisci le informazioni nei campi, come segue.

    **Crea il nome dell'artefatto** 

   Specificate il nome di un artefatto generato dall'azione. I nomi degli Artifact devono essere univoci all'interno di un flusso di lavoro e sono limitati a caratteri alfanumerici (a-z, A-Z, 0-9) e caratteri di sottolineatura (\$1). Spazi, trattini (-) e altri caratteri speciali non sono consentiti. Non è possibile utilizzare le virgolette per abilitare spazi, trattini e altri caratteri speciali nei nomi degli artefatti di output.

   Per ulteriori informazioni sugli artefatti, inclusi esempi, vedere. [Condivisione di artefatti e file tra azioni](workflows-working-artifacts.md)

    **File prodotti da build** 

   Specificate i file CodeCatalyst inclusi nell'artefatto generato dall'azione. Questi file vengono generati dall'azione del flusso di lavoro durante l'esecuzione e sono disponibili anche nell'archivio di origine. I percorsi dei file possono risiedere in un repository di origine o in un elemento di un'azione precedente e sono relativi al repository di origine o alla radice dell'elemento. È possibile utilizzare modelli a globo per specificare i percorsi. Esempi:
   + Per specificare un singolo file che si trova nella radice della posizione di creazione o della posizione del repository di origine, usa. `my-file.jar`
   + Per specificare un singolo file in una sottodirectory, usa `directory/my-file.jar` o. `directory/subdirectory/my-file.jar`
   + Per specificare tutti i file, utilizzare`"**/*"`. Il pattern a `**` glob indica che deve corrispondere a un numero qualsiasi di sottodirectory.
   + Per specificare tutti i file e le directory in una directory denominata, usa. `directory` `"directory/**/*"` Il pattern a `**` glob indica che deve corrispondere a un numero qualsiasi di sottodirectory.
   + Per specificare tutti i file in una directory denominata`directory`, ma non nessuna delle sue sottodirectory, usa. `"directory/*"` 
**Nota**  
Se il percorso del file include uno o più asterischi (`*`) o un altro carattere speciale, racchiudi il percorso tra virgolette doppie (). `""` Per ulteriori informazioni sui caratteri speciali, vedere. [Linee guida e convenzioni sulla sintassi](workflow-reference.md#workflow.terms.syntax.conv)

   Per ulteriori informazioni sugli artefatti, inclusi esempi, vedere. [Condivisione di artefatti e file tra azioni](workflows-working-artifacts.md)
**Nota**  
Potrebbe essere necessario aggiungere un prefisso al percorso del file per indicare in quale elemento o fonte trovarlo. Per ulteriori informazioni, consultare [Riferimento ai file del repository di origine](workflows-sources-reference-files.md) e [Riferimento ai file in un artefatto](workflows-working-artifacts-refer-files.md).

1. (Facoltativo) Scegliete **Convalida per convalidare il** codice YAML del flusso di lavoro prima di eseguire il commit.

1. **Scegliete **Commit**, inserite un messaggio di commit e scegliete nuovamente Commit.**

------
#### [ YAML ]

**Per definire un artefatto di output utilizzando l'editor YAML**

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

1. Scegliere il progetto.

1. **Nel riquadro di navigazione, scegli **CI/CD**, quindi scegli Flussi di lavoro.**

1. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

1. Scegli **Modifica**.

1. Scegli **YAML**.

1. In un'azione del flusso di lavoro, aggiungi un codice simile al seguente:

   ```
   action-name:
     Outputs:
       Artifacts:
         - Name: artifact-name
           Files:
             - file-path-1
             - file-path-2
   ```

   Per ulteriori esempi, consulta [Esempi di manufatti](workflows-working-artifacts-ex.md). Per ulteriori informazioni, consulta la sezione [Definizione YAML del flusso di lavoro](workflow-reference.md) dedicata alla tua azione.

1. (Facoltativo) Scegliete **Convalida per convalidare** il codice YAML del flusso di lavoro prima di eseguire il commit.

1. **Scegliete **Commit**, inserite un messaggio di commit e scegliete nuovamente Commit.**

------

# Definizione di un artefatto di input
<a name="workflows-working-artifacts-refer"></a>

Se desideri utilizzare un artefatto generato da un'altra CodeCatalyst azione Amazon, devi specificarlo come input per l'azione corrente. Potresti essere in grado di specificare più artefatti come input, dipende dall'azione. Per ulteriori informazioni, consulta la sezione dedicata all'azione. [Definizione YAML del flusso di lavoro](workflow-reference.md)

**Nota**  
Non è possibile fare riferimento agli artefatti di altri flussi di lavoro.

Utilizzate le seguenti istruzioni per specificare un artefatto di un'altra azione come input per l'azione corrente.

**Prerequisito**  
Prima di iniziare, assicuratevi di aver generato l'artefatto dall'altra azione. Per ulteriori informazioni, consulta [Definizione di un artefatto di output](workflows-working-artifacts-output.md). L'emissione dell'artefatto lo rende disponibile per altre azioni da utilizzare.

------
#### [ Visual ]

**Specificare un artefatto come input per un'azione (editor visivo)**

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

1. Scegliere il progetto.

1. **Nel riquadro di navigazione, scegli **CI/CD**, quindi scegli Flussi di lavoro.**

1. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

1. Scegli **Modifica**.

1. Scegli **Visual**.

1. Nel diagramma del flusso di lavoro, scegliete l'azione in cui desiderate specificare un artefatto come input.

1. **Scegliete Ingressi.**

1. In **Artifacts, facoltativo, procedi** come segue:

   Specificate gli artefatti delle azioni precedenti che desiderate fornire come input per questa azione. Questi artefatti devono essere già definiti come artefatti di output nelle azioni precedenti.

   Se non si specifica alcun artefatto di input, è necessario specificare almeno un repository di origine in. `action-name/Inputs/Sources`

   Per ulteriori informazioni sugli artefatti, inclusi esempi, vedere. [Condivisione di artefatti e file tra azioni](workflows-working-artifacts.md)
**Nota**  
Se l'elenco a discesa **Artifacts - opzionale** non è disponibile (editor visivo) o se si verificano errori durante la convalida di YAML (editor YAML), è possibile che l'azione supporti un solo input. In questo caso, prova a rimuovere l'input sorgente.

1. (Facoltativo) Scegliete **Convalida per convalidare** il codice YAML del flusso di lavoro prima di eseguire il commit.

1. **Scegliete **Commit**, inserite un messaggio di commit e scegliete nuovamente Commit.**

------
#### [ YAML ]

**Per specificare un artefatto come input per un'azione (editor YAML)**

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

1. Scegliere il progetto.

1. **Nel riquadro di navigazione, scegli **CI/CD**, quindi scegli Flussi di lavoro.**

1. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

1. Scegli **Modifica**.

1. Scegli **YAML**.

1. Nell'azione in cui desiderate specificare l'artefatto come input, aggiungete un codice simile al seguente:

   ```
   action-name:
     Inputs:
       Artifacts:
         - artifact-name
   ```

   Per ulteriori esempi, consulta [Esempi di manufatti](workflows-working-artifacts-ex.md).

1. (Facoltativo) Scegliete **Convalida per convalidare** il codice YAML del flusso di lavoro prima del commit.

1. **Scegliete **Commit**, inserite un messaggio di commit e scegliete nuovamente Commit.**

------

# Riferimento ai file in un artefatto
<a name="workflows-working-artifacts-refer-files"></a>

Se hai un file che si trova all'interno di un artefatto e devi fare riferimento a questo file in una delle azioni del CodeCatalyst flusso di lavoro Amazon, completa la seguente procedura.

**Nota**  
Consulta anche [Riferimento ai file del repository di origine](workflows-sources-reference-files.md).

------
#### [ Visual ]

*Non disponibile. Scegli YAML per visualizzare le istruzioni YAML.*

------
#### [ YAML ]

**Per fare riferimento ai file in un artefatto (editor YAML)**

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

1. Scegliere il progetto.

1. **Nel riquadro di navigazione, scegli **CI/CD**, quindi scegli Flussi di lavoro.**

1. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

1. Scegli **Modifica**.

1. Scegli **YAML**.

1. Nell'azione in cui desideri fare riferimento a un file, aggiungi un codice simile al seguente:

   ```
   Actions:
     My-action:
       Inputs:
         Sources:
           - WorkflowSource
         Artifacts:
           - artifact-name  
       Configuration:
         template: artifact-path/path/to/file.yml
   ```

   Nel codice precedente, sostituisci:
   + *artifact-name*con il nome del manufatto.
   + *artifact-path*con un valore della tabella seguente.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/codecatalyst/latest/userguide/workflows-working-artifacts-refer-files.html)

   Per alcuni esempi, consulta [Esempi di manufatti](workflows-working-artifacts-ex.md).
**Nota**  
È possibile omettere *artifact-path* e specificare semplicemente il percorso del file relativo alla directory principale dell'artefatto se:  
L'azione in cui includi il riferimento include solo un elemento sottostante `Inputs` (ad esempio, include un elemento di input e nessuna fonte).
Il file a cui vuoi fare riferimento si trova nell'input principale. L'*input principale* è il`WorkflowSource`, o il primo elemento di input elencato, se non esiste. `WorkflowSource`

1. (Facoltativo) Scegliete **Convalida per convalidare** il codice YAML del flusso di lavoro prima di eseguire il commit.

1. **Scegliete **Commit**, inserite un messaggio di commit e scegliete nuovamente Commit.**

------

# Scaricamento di artefatti
<a name="workflows-download-workflow-outputs"></a>

Puoi scaricare e ispezionare gli artefatti generati dalle azioni del tuo CodeCatalyst flusso di lavoro Amazon per la risoluzione dei problemi. Esistono due tipi di artefatti che puoi scaricare:
+ **Artefatti di origine**: un artefatto che contiene un'istantanea del contenuto del repository di origine così com'era all'avvio dell'esecuzione.
+ **Artefatti del flusso di lavoro: un artefatto** definito nella proprietà del file di configurazione del flusso di lavoro. `Outputs`

**Per scaricare gli artefatti generati dal flusso di lavoro**

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

1. Scegliere il progetto.

1. **Nel riquadro di navigazione, scegli **CI/CD**, quindi scegli Flussi di lavoro.**

1. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

1. Sotto il nome del flusso di lavoro, scegli **Esegue**.

1. Nella **cronologia di esecuzione**, nella colonna **Run ID**, scegli una corsa. Ad esempio `Run-95a4d`.

1. Sotto il nome della corsa, scegli **Artefatti**.

1. **Accanto a un artefatto, scegli Scarica.** Viene scaricato un file di archivio. Il nome del file è composto da sette caratteri casuali.

1. Estrai l'archivio utilizzando un'utilità di estrazione dell'archivio di tua scelta.