

Amazon n' CodeCatalyst est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. Pour de plus amples informations, veuillez consulter [Comment effectuer une migration depuis CodeCatalyst](migration.md).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Partage d'artefacts et de fichiers entre les actions
<a name="workflows-working-artifacts"></a>

Un *artefact* est le résultat d'une action de flux de travail et consiste généralement en un dossier ou une archive de fichiers. Les artefacts sont importants car ils vous permettent de partager des fichiers et des informations entre les actions.

Par exemple, vous pouvez avoir une action de génération qui *génère* un `sam-template.yml` fichier, mais vous souhaitez qu'une action de déploiement *l'utilise*. Dans ce scénario, vous utiliseriez un artefact pour permettre à l'action de génération de partager le `sam-template.yml` fichier avec l'action de déploiement. Le code pourrait ressembler à ceci :

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

Dans le code précédent, l'action de construction (`BuildAction`) génère un `sam-template.yml` fichier, puis l'ajoute à un artefact de sortie appelé`MYARTIFACT`. Une action de déploiement ultérieure (`DeployAction`) est spécifiée `MYARTIFACT` en entrée, lui donnant accès au `sam-template.yml` fichier.

**Topics**
+ [Puis-je partager des artefacts sans les spécifier comme sorties et entrées ?](#workflows-working-artifacts-share)
+ [Puis-je partager des artefacts entre les flux de travail ?](#workflows-working-artifacts-share-wf)
+ [Exemples d'artefacts](workflows-working-artifacts-ex.md)
+ [Définition d'un artefact de sortie](workflows-working-artifacts-output.md)
+ [Définition d'un artefact d'entrée](workflows-working-artifacts-refer.md)
+ [Référencement de fichiers dans un artefact](workflows-working-artifacts-refer-files.md)
+ [Téléchargement d'artefacts](workflows-download-workflow-outputs.md)

## Puis-je partager des artefacts sans les spécifier comme sorties et entrées ?
<a name="workflows-working-artifacts-share"></a>

Oui, vous pouvez partager des artefacts entre des actions sans les spécifier dans les `Inputs` sections `Outputs` et du code YAML de vos actions. Pour ce faire, vous devez activer le partage de calcul. Pour plus d'informations sur le partage de calcul et sur la manière de spécifier des artefacts lorsqu'il est activé, consultez[Partage du calcul entre les actions](compute-sharing.md). 

**Note**  
Bien que la fonctionnalité de partage de calcul vous permette de simplifier le code YAML de votre flux de travail en éliminant le besoin de `Inputs` sections `Outputs` et, cette fonctionnalité présente des limites que vous devez connaître avant de l'activer. Pour plus d'informations sur ces limitations, consultez[Considérations relatives au partage du calcul](compute-sharing.md#compare-compute-sharing).

## Puis-je partager des artefacts entre les flux de travail ?
<a name="workflows-working-artifacts-share-wf"></a>

Non, vous ne pouvez pas partager d'artefacts entre différents flux de travail ; toutefois, vous pouvez partager des artefacts entre des actions au sein d'un même flux de travail.

# Exemples d'artefacts
<a name="workflows-working-artifacts-ex"></a>

Les exemples suivants montrent comment générer, saisir et référencer des artefacts dans le fichier de définition du CodeCatalyst flux de travail Amazon.

**Topics**
+ [Exemple : sortie d'un artefact](#workflows-working-artifacts-ex-basic)
+ [Exemple : saisie d'un artefact généré par une autre action](#workflows-working-artifacts-ex-ref)
+ [Exemple : Référencement de fichiers dans plusieurs artefacts](#workflows-working-artifacts-ex-ref-file)
+ [Exemple : Référencement d'un fichier dans un seul artefact](#workflows-working-artifacts-ex-ref-file-one)
+ [Exemple : Référencer un fichier dans un artefact en présence d'un WorkflowSource](#workflows-working-artifacts-ex-ref-file-wf-source)
+ [Exemple : Référencement d'un fichier dans un artefact lorsqu'un groupe d'action est présent](#workflows-working-artifacts-ex-groups)

## Exemple : sortie d'un artefact
<a name="workflows-working-artifacts-ex-basic"></a>

L'exemple suivant montre comment générer un artefact qui inclut deux fichiers .jar.

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

## Exemple : saisie d'un artefact généré par une autre action
<a name="workflows-working-artifacts-ex-ref"></a>

L'exemple suivant vous montre comment générer un artefact appelé `ARTIFACT4` in et `BuildActionA` le saisir dans`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:
```

## Exemple : Référencement de fichiers dans plusieurs artefacts
<a name="workflows-working-artifacts-ex-ref-file"></a>

L'exemple suivant montre comment générer deux artefacts nommés `ART5` et `ART6` dans`BuildActionC`, puis référencer deux fichiers nommés `file5.txt` (dans artefact`ART5`) et `file6.txt` (dans artefact`ART6`) dans `BuildActionD` (sous`Steps`).

**Note**  
Pour plus d'informations sur le référencement de fichiers, consultez[Référencement de fichiers dans un artefact](workflows-working-artifacts-refer-files.md).

**Note**  
Bien que l'exemple montre le `$CATALYST_SOURCE_DIR_ART5` préfixe utilisé, vous pouvez l'omettre. C'est parce que `ART5` c'est l'*entrée principale*. Pour en savoir plus sur l'entrée principale, voir[Référencement de fichiers dans un artefact](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
```

## Exemple : Référencement d'un fichier dans un seul artefact
<a name="workflows-working-artifacts-ex-ref-file-one"></a>

L'exemple suivant vous montre comment générer un artefact nommé `ART7` dans`BuildActionE`, puis référencer `file7.txt` (dans artefact`ART7`) dans `BuildActionF` (sous`Steps`).

Remarquez que la référence ne nécessite pas le `$CATALYST_SOURCE_DIR_` *artifact-name* préfixe devant le `build-output` répertoire comme c'était le cas dans[Exemple : Référencement de fichiers dans plusieurs artefacts](#workflows-working-artifacts-ex-ref-file). Cela est dû au fait qu'un seul élément est spécifié sous`Inputs`.

**Note**  
Pour plus d'informations sur le référencement de fichiers, consultez[Référencement de fichiers dans un artefact](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
```

## Exemple : Référencer un fichier dans un artefact en présence d'un WorkflowSource
<a name="workflows-working-artifacts-ex-ref-file-wf-source"></a>

L'exemple suivant vous montre comment générer un artefact nommé `ART8` dans`BuildActionG`, puis référencer `file8.txt` (dans artefact`ART8`) dans `BuildActionH` (sous`Steps`).

Remarquez que la référence nécessite le `$CATALYST_SOURCE_DIR_` *artifact-name* préfixe, comme c'était le cas dans[Exemple : Référencement de fichiers dans plusieurs artefacts](#workflows-working-artifacts-ex-ref-file). Cela est dû au fait que plusieurs éléments sont spécifiés sous `Inputs` (une source et un artefact). Vous avez donc besoin du préfixe pour indiquer où rechercher le fichier.

**Note**  
Pour plus d'informations sur le référencement de fichiers, consultez[Référencement de fichiers dans un artefact](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
```

## Exemple : Référencement d'un fichier dans un artefact lorsqu'un groupe d'action est présent
<a name="workflows-working-artifacts-ex-groups"></a>

L'exemple suivant vous montre comment générer un artefact nommé `ART9` dans `ActionGroup1``ActionI`, puis référencer `file9.txt` (dans artefact`ART9`) dans. `ActionJ`

Pour plus d'informations sur le référencement de fichiers, consultez[Référencement de fichiers dans un artefact](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
```

# Définition d'un artefact de sortie
<a name="workflows-working-artifacts-output"></a>

Suivez les instructions suivantes pour définir un artefact que vous souhaitez qu'une CodeCatalyst action Amazon génère. Cet artefact devient alors disponible pour d'autres actions.

**Note**  
Toutes les actions ne prennent pas en charge les artefacts de sortie. Pour déterminer si votre action les prend en charge, parcourez les instructions de l'éditeur visuel qui suivent et vérifiez si l'action inclut un bouton **Artefacts de sortie** dans l'onglet **Sorties**. Dans l'affirmative, les artefacts de sortie sont pris en charge. 

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

**Pour définir un artefact de sortie à l'aide de l'éditeur visuel**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Choisissez votre projet.

1. **Dans le volet de navigation, choisissez **CI/CD**, puis Workflows.**

1. Choisissez le nom de votre flux de travail. Vous pouvez filtrer en fonction du référentiel source ou du nom de branche dans lequel le flux de travail est défini, ou filtrer en fonction du nom ou du statut du flux de travail.

1. Choisissez **Modifier**.

1. Choisissez **Visual**.

1. Dans le diagramme du flux de travail, choisissez l'action qui produira l'artefact.

1. Choisissez l'onglet **Outputs**.

1. Sous **Artefacts**, choisissez **Ajouter un artefact**.

1. Choisissez **Ajouter un artefact**, puis entrez les informations dans les champs, comme suit.

    **Nom de l'artefact de construction** 

   Spécifiez le nom d'un artefact généré par l'action. Les noms d'artifact doivent être uniques dans un flux de travail et sont limités aux caractères alphanumériques (a-z, A-Z, 0-9) et aux traits de soulignement (\$1). Les espaces, les tirets (-) et les autres caractères spéciaux ne sont pas autorisés. Vous ne pouvez pas utiliser de guillemets pour activer les espaces, les tirets et autres caractères spéciaux dans les noms d'artefacts en sortie.

   Pour plus d'informations sur les artefacts, y compris des exemples, consultez[Partage d'artefacts et de fichiers entre les actions](workflows-working-artifacts.md).

    **Fichiers produits par build** 

   Spécifiez les fichiers CodeCatalyst inclus dans l'artefact généré par l'action. Ces fichiers sont générés par l'action du flux de travail lorsqu'elle s'exécute et sont également disponibles dans votre référentiel source. Les chemins de fichiers peuvent résider dans un référentiel source ou dans un artefact issu d'une action précédente, et sont relatifs au référentiel source ou à la racine de l'artefact. Vous pouvez utiliser des modèles globulaires pour définir des chemins. Exemples :
   + Pour spécifier un seul fichier situé à la racine de votre emplacement de compilation ou de l'emplacement de votre référentiel source, utilisez`my-file.jar`.
   + Pour spécifier un seul fichier dans un sous-répertoire, utilisez `directory/my-file.jar` ou`directory/subdirectory/my-file.jar`.
   + Pour spécifier tous les fichiers, utilisez`"**/*"`. Le modèle `**` glob indique qu'il doit correspondre à un nombre quelconque de sous-répertoires.
   + Pour spécifier tous les fichiers et répertoires d'un répertoire nommé`directory`, utilisez`"directory/**/*"`. Le modèle `**` glob indique qu'il doit correspondre à un nombre quelconque de sous-répertoires.
   + Pour spécifier tous les fichiers d'un répertoire nommé`directory`, mais aucun de ses sous-répertoires, utilisez`"directory/*"`. 
**Note**  
Si le chemin de votre fichier comporte un ou plusieurs astérisques (`*`) ou autres caractères spéciaux, mettez-le entre guillemets (). `""` Pour plus d'informations sur les caractères spéciaux, consultez[Consignes et conventions de syntaxe](workflow-reference.md#workflow.terms.syntax.conv).

   Pour plus d'informations sur les artefacts, y compris des exemples, consultez[Partage d'artefacts et de fichiers entre les actions](workflows-working-artifacts.md).
**Note**  
Vous devrez peut-être ajouter un préfixe au chemin du fichier pour indiquer dans quel artefact ou dans quelle source le trouver. Pour plus d’informations, consultez [Référencement des fichiers du référentiel source](workflows-sources-reference-files.md) et [Référencement de fichiers dans un artefact](workflows-working-artifacts-refer-files.md).

1. (Facultatif) Choisissez **Valider** pour valider le code YAML du flux de travail avant de le valider.

1. Choisissez **Valider**, entrez un message de validation, puis choisissez à nouveau **Valider**.

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

**Pour définir un artefact de sortie à l'aide de l'éditeur YAML**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Choisissez votre projet.

1. **Dans le volet de navigation, choisissez **CI/CD**, puis Workflows.**

1. Choisissez le nom de votre flux de travail. Vous pouvez filtrer en fonction du référentiel source ou du nom de branche dans lequel le flux de travail est défini, ou filtrer en fonction du nom ou du statut du flux de travail.

1. Choisissez **Modifier**.

1. Choisissez **YAML.**

1. Dans une action de flux de travail, ajoutez un code similaire au suivant :

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

   Pour obtenir plus d’exemples, consultez [Exemples d'artefacts](workflows-working-artifacts-ex.md). Pour plus d'informations, consultez le [Définition du flux de travail YAML](workflow-reference.md) correspondant à votre action.

1. (Facultatif) Choisissez **Valider** pour valider le code YAML du flux de travail avant de le valider.

1. Choisissez **Valider**, entrez un message de validation, puis choisissez à nouveau **Valider**.

------

# Définition d'un artefact d'entrée
<a name="workflows-working-artifacts-refer"></a>

Si vous souhaitez utiliser un artefact généré par une autre CodeCatalyst action Amazon, vous devez le spécifier comme entrée pour l'action en cours. Vous pouvez peut-être spécifier plusieurs artefacts en entrée, cela dépend de l'action. Pour plus d'informations, consultez le [Définition du flux de travail YAML](workflow-reference.md) correspondant à votre action.

**Note**  
Vous ne pouvez pas faire référence à des artefacts provenant d'autres flux de travail.

Suivez les instructions ci-dessous pour spécifier un artefact issu d'une autre action en tant qu'entrée de l'action en cours.

**Prérequis**  
Avant de commencer, assurez-vous d'avoir généré l'artefact issu de l'autre action. Pour de plus amples informations, veuillez consulter [Définition d'un artefact de sortie](workflows-working-artifacts-output.md). La sortie de l'artefact le rend disponible pour d'autres actions.

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

**Pour spécifier un artefact en tant qu'entrée d'une action (éditeur visuel)**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Choisissez votre projet.

1. **Dans le volet de navigation, choisissez **CI/CD**, puis Workflows.**

1. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

1. Choisissez **Modifier**.

1. Choisissez **Visual**.

1. Dans le diagramme du flux de travail, choisissez l'action dans laquelle vous souhaitez spécifier un artefact en entrée.

1. Choisissez **Entrées**.

1. Dans **Artefacts - optional**, procédez comme suit :

   Spécifiez les artefacts des actions précédentes que vous souhaitez fournir en entrée pour cette action. Ces artefacts doivent déjà être définis en tant qu'artefacts de sortie dans les actions précédentes.

   Si vous ne spécifiez aucun artefact d'entrée, vous devez spécifier au moins un référentiel source sous`action-name/Inputs/Sources`.

   Pour plus d'informations sur les artefacts, y compris des exemples, consultez[Partage d'artefacts et de fichiers entre les actions](workflows-working-artifacts.md).
**Note**  
Si la liste déroulante **Artéfacts - optionnelle** n'est pas disponible (éditeur visuel), ou si vous recevez des erreurs lors de la validation de votre YAML (éditeur YAML), c'est peut-être parce que l'action ne prend en charge qu'une seule entrée. Dans ce cas, essayez de supprimer l'entrée source.

1. (Facultatif) Choisissez **Valider** pour valider le code YAML du flux de travail avant de le valider.

1. Choisissez **Valider**, entrez un message de validation, puis choisissez à nouveau **Valider**.

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

**Pour spécifier un artefact en entrée d'une action (éditeur YAML)**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Choisissez votre projet.

1. **Dans le volet de navigation, choisissez **CI/CD**, puis Workflows.**

1. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

1. Choisissez **Modifier**.

1. Choisissez **YAML.**

1. Dans l'action dans laquelle vous souhaitez spécifier l'artefact en entrée, ajoutez un code similaire au suivant :

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

   Pour obtenir plus d’exemples, consultez [Exemples d'artefacts](workflows-working-artifacts-ex.md).

1. (Facultatif) Choisissez **Valider** pour valider le code YAML du flux de travail avant de le valider.

1. Choisissez **Valider**, entrez un message de validation, puis choisissez à nouveau **Valider**.

------

# Référencement de fichiers dans un artefact
<a name="workflows-working-artifacts-refer-files"></a>

Si un fichier se trouve dans un artefact et que vous devez y faire référence dans l'une des actions de votre CodeCatalyst flux de travail Amazon, suivez la procédure suivante.

**Note**  
Consultez également [Référencement des fichiers du référentiel source](workflows-sources-reference-files.md).

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

*Non disponible. Choisissez YAML pour afficher les instructions YAML.*

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

**Pour référencer des fichiers dans un artefact (éditeur YAML)**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Choisissez votre projet.

1. **Dans le volet de navigation, choisissez **CI/CD**, puis Workflows.**

1. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

1. Choisissez **Modifier**.

1. Choisissez **YAML.**

1. Dans l'action dans laquelle vous souhaitez référencer un fichier, ajoutez un code similaire au suivant :

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

   Dans le code précédent, remplacez :
   + *artifact-name*avec le nom de l'artefact.
   + *artifact-path*avec une valeur du tableau suivant.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codecatalyst/latest/userguide/workflows-working-artifacts-refer-files.html)

   Pour obtenir des exemples, consultez [Exemples d'artefacts](workflows-working-artifacts-ex.md).
**Note**  
Vous pouvez omettre le *artifact-path* et simplement spécifier le chemin du fichier relatif au répertoire racine de l'artefact si :  
L'action dans laquelle vous incluez la référence n'inclut qu'un seul élément en dessous `Inputs` (par exemple, elle inclut un artefact d'entrée et aucune source).
Le fichier que vous souhaitez référencer se trouve dans l'entrée principale. L'*entrée principale* est soit le`WorkflowSource`, soit le premier artefact d'entrée répertorié, s'il n'y en a pas`WorkflowSource`.

1. (Facultatif) Choisissez **Valider** pour valider le code YAML du flux de travail avant de le valider.

1. Choisissez **Commit**, entrez un message de validation, puis choisissez **Commit** à nouveau.

------

# Téléchargement d'artefacts
<a name="workflows-download-workflow-outputs"></a>

Vous pouvez télécharger et inspecter les artefacts générés par les actions de votre CodeCatalyst flux de travail Amazon à des fins de résolution des problèmes. Il existe deux types d'artefacts que vous pouvez télécharger :
+ **Artefacts de source** : artefact contenant un instantané du contenu du référentiel source tel qu'il existait au début de l'exécution.
+ **Artefacts de flux** de travail : artéfact défini dans la `Outputs` propriété du fichier de configuration de votre flux de travail.

**Pour télécharger les artefacts produits par le flux de travail**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Choisissez votre projet.

1. **Dans le volet de navigation, choisissez **CI/CD**, puis Workflows.**

1. Choisissez le nom de votre flux de travail. Vous pouvez filtrer en fonction du référentiel source ou du nom de branche dans lequel le flux de travail est défini, ou filtrer en fonction du nom ou du statut du flux de travail.

1. Sous le nom du flux de travail, choisissez **Runs**.

1. Dans **Historique** des exécutions, dans la colonne **Run ID**, sélectionnez une exécution. Par exemple, `Run-95a4d`.

1. Sous le nom de la course, sélectionnez **Artifacts**.

1. À côté d'un artefact, choisissez **Télécharger**. Un fichier d'archive est téléchargé. Son nom de fichier est composé de sept caractères aléatoires.

1. Extrayez l'archive à l'aide de l'utilitaire d'extraction d'archives de votre choix.