

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.

# Didacticiel : Création d'un pipeline à quatre étapes
<a name="tutorials-four-stage-pipeline"></a>

Maintenant que vous avez créé votre premier pipeline dans [Didacticiel : Création d'un pipeline simple (compartiment S3)](tutorials-simple-s3.md) ou [Tutoriel : Création d'un pipeline simple (CodeCommit référentiel)](tutorials-simple-codecommit.md), vous pouvez commencer à créer des pipelines plus complexes. Ce didacticiel vous explique comment créer un pipeline en quatre étapes qui utilise un GitHub référentiel pour votre source, un serveur de build Jenkins pour créer le projet et une CodeDeploy application pour déployer le code généré sur un serveur intermédiaire. Le schéma suivant montre le pipeline initial en trois étapes.

![Schéma illustrant l'étape source avec l'action source, une phase de génération avec l'action Jenkins et une étape de déploiement avec l'action de déploiement.](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/flow-codepipeline-codecommit-jenkins.png)


Une fois le pipeline créé, vous allez le modifier pour ajouter une étape comprenant une action de test pour tester le code, également à l'aide de Jenkins. 

Avant de pouvoir créer ce pipeline, vous devez configurer les ressources requises. Par exemple, si vous souhaitez utiliser un GitHub référentiel pour votre code source, vous devez le créer avant de pouvoir l'ajouter à un pipeline. Dans le cadre de la configuration, ce didacticiel vous guide dans la configuration de Jenkins sur une instance EC2, à des fins de démonstration. 

**Important**  
La plupart des actions que vous ajoutez à votre pipeline dans le cadre de cette procédure impliquent AWS des ressources que vous devez créer avant de créer le pipeline. AWS les ressources pour vos actions source doivent toujours être créées dans la même AWS région que celle où vous créez votre pipeline. Par exemple, si vous créez votre pipeline dans la région USA Est (Ohio), votre CodeCommit référentiel doit se trouver dans la région USA Est (Ohio).   
Vous pouvez ajouter des actions interrégionales lorsque vous créez votre pipeline. AWS les ressources pour les actions interrégionales doivent se trouver dans la même AWS région que celle où vous prévoyez d'exécuter l'action. Pour de plus amples informations, veuillez consulter [Ajouter une action interrégionale dans CodePipeline](actions-create-cross-region.md).

**Important**  
Dans le cadre de la création d'un pipeline, un compartiment d'artefacts S3 fourni par le client sera utilisé CodePipeline pour les artefacts. (Ceci est différent du compartiment utilisé pour une action source S3.) Si le compartiment d'artefacts S3 se trouve dans un compte différent de celui de votre pipeline, assurez-vous que le compartiment d'artefacts S3 appartient à cette personne sûre et Comptes AWS qu'elle sera fiable.

Avant de commencer ce didacticiel, assurez-vous de réunir les prérequis généraux indiqués dans [Commencer avec CodePipeline](getting-started-codepipeline.md).

**Topics**
+ [Étape 1 : Vérifier les conditions préalables](#tutorials-four-stage-pipeline-prerequisites)
+ [Étape 2 : créer un pipeline dans CodePipeline](#tutorials-four-stage-pipeline-pipeline-create)
+ [Étape 3 : Ajouter une autre étape à votre pipeline](#tutorials-four-stage-pipeline-add-stage)
+ [Étape 4 : Nettoyer les ressources](#tutorials-four-stage-pipeline-clean-up)

## Étape 1 : Vérifier les conditions préalables
<a name="tutorials-four-stage-pipeline-prerequisites"></a>

Pour intégrer Jenkins, vous devez AWS CodePipeline installer le CodePipeline plugin pour Jenkins sur n'importe quelle instance de Jenkins que vous souhaitez utiliser. CodePipeline Vous devez également configurer un utilisateur ou un rôle IAM dédié à utiliser pour les autorisations entre votre projet Jenkins et. CodePipeline Le moyen le plus simple d'intégrer Jenkins CodePipeline consiste à installer Jenkins sur une instance EC2 qui utilise un rôle d'instance IAM que vous avez créé pour l'intégration de Jenkins. Afin que les liens des actions Jenkins du pipeline soient bien connectés, vous devez configurer les paramètres du pare-feu et de proxy sur le serveur ou l'instance EC2 pour autoriser les connexions entrantes sur le port utilisé par votre projet Jenkins. Assurez-vous d'avoir configuré Jenkins afin d'authentifier les utilisateurs et d'appliquer le contrôle d'accès avant d'autoriser les connexions sur ces ports (par exemple, 443 et 8443 si vous avez sécurisé Jenkins de sorte à ce qu'il n'utilise que des connexions HTTPS, ou 80 et 8080 si vous autorisez les connexions HTTP). Pour plus d'informations, consultez [Sécurisation de Jenkins](https://wiki.jenkins.io/display/JENKINS/Securing+Jenkins).

**Note**  
Ce didacticiel utilise un modèle de code et configure les étapes de génération qui convertissent ce modèle, de Haml à HTML. Vous pouvez télécharger l'exemple de code open source depuis le GitHub référentiel en suivant les étapes décrites dans[Copier ou cloner l'échantillon dans un GitHub référentiel](#tutorials-four-stage-pipeline-prerequisites-github). Vous aurez besoin de l'échantillon complet dans votre GitHub dépôt, et pas seulement du fichier .zip.   
Ce didacticiel présume également que :  
Vous êtes familiarisé avec l'installation et la gestion de Jenkins, ainsi qu'avec la création de projets Jenkins.
Vous avez installé Rake et le gem Haml pour Ruby sur le même ordinateur ou la même instance qui héberge votre projet Jenkins.
Vous avez défini les variables requises de l'environnement système afin que les commandes Rake puissent être exécutées à partir du terminal ou de la ligne de commande (par exemple, sur les systèmes Windows, modifiez la variable PATH pour inclure le répertoire où vous avez installé Rake).

**Topics**
+ [Copier ou cloner l'échantillon dans un GitHub référentiel](#tutorials-four-stage-pipeline-prerequisites-github)
+ [Créez un rôle IAM à utiliser pour l'intégration de Jenkins](#tutorials-four-stage-pipeline-prerequisites-jenkins-iam-role)
+ [Installation et configuration de Jenkins et du CodePipeline plugin pour Jenkins](#tutorials-four-stage-pipeline-prerequisites-jenkins-configure)

### Copier ou cloner l'échantillon dans un GitHub référentiel
<a name="tutorials-four-stage-pipeline-prerequisites-github"></a>

**Pour cloner l'échantillon et le transférer vers un GitHub référentiel**

1. Téléchargez l'exemple de code depuis le GitHub référentiel ou clonez les référentiels sur votre ordinateur local. Il y a deux modèles de modules : 
   + Si vous comptez déployer votre échantillon sur des instances Amazon Linux, RHEL ou Ubuntu Server, choisissez [codepipeline-jenkins-aws-codedeploy\_linux.zip](https://github.com/awslabs/aws-codepipeline-jenkins-aws-codedeploy_linux). 
   + Si vous comptez déployer votre échantillon sur des instances Windows Server, choisissez [CodePipeline-Jenkins- AWSCodeDeploy\_Windows](https://github.com/awslabs/AWSCodePipeline-Jenkins-AWSCodeDeploy_windows) .zip.

1. Dans le référentiel, choisissez **Fork** pour cloner le modèle de référentiel dans un référentiel de votre compte Github. Pour plus d’informations, consultez la [documentation GitHub](https://help.github.com/articles/create-a-repo/).

### Créez un rôle IAM à utiliser pour l'intégration de Jenkins
<a name="tutorials-four-stage-pipeline-prerequisites-jenkins-iam-role"></a>

Il est recommandé d'envisager de lancer une instance EC2 pour héberger votre serveur Jenkins et d'utiliser un rôle IAM pour accorder à l'instance les autorisations requises pour interagir avec. CodePipeline

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation de la console IAM, choisissez **Rôles**, puis **Créer un rôle**.

1. Sous **Select type of trusted entity** (Sélectionner le type d'entité approuvée), choisissez **Service AWS**. Sous **Choose the service that will use this role (Choisir le service qui utilisera ce rôle)**, choisissez **EC2**. Sous **Select your use case (Sélectionner votre cas d'utilisation)**, choisissez **EC2**. 

1. Choisissez **Suivant : Autorisations**. Sur la page **Attach permissions policies (Attacher des stratégies d'autorisations)**, sélectionnez la stratégie gérée `AWSCodePipelineCustomActionAccess`, puis choisissez **Next: Tags (Suivant : balises)**. Choisissez **Suivant : Vérification**.

1. Dans la page **Vérification**, dans **Nom du rôle**, entrez le nom du rôle à créer spécifiquement pour l'intégration Jenkins (par exemple, {{JenkinsAccess}}), puis choisissez **Créer un rôle**.

Lorsque vous créez l'instance EC2 où vous allez installer Jenkins, dans **Étape 3 : Configurer les détails de l'instance**, assurez-vous de choisir le rôle de l'instance (par exemple, {{JenkinsAccess}}).

Pour plus d'informations sur les rôles d'instance et Amazon EC2, consultez les sections Rôles [IAM pour Amazon EC2, Utilisation des rôles](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) [IAM pour accorder des autorisations aux applications exécutées sur des instances Amazon EC2 et [Création](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-creatingrole-service.html) d'un rôle pour déléguer](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-ec2instance.html) des autorisations à un. Service AWS

### Installation et configuration de Jenkins et du CodePipeline plugin pour Jenkins
<a name="tutorials-four-stage-pipeline-prerequisites-jenkins-configure"></a>

**Pour installer Jenkins et le CodePipeline plugin pour Jenkins**

1. Créez une instance EC2 où vous allez installer Jenkins, et dans **Étape 3 : Configurer les détails de l'instance**, assurez-vous de choisir le rôle de l'instance que vous avez créée (par exemple, {{JenkinsAccess}}). Pour plus d'informations sur la création d'instances EC2, consultez [Lancer une instance Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance_linux.html) dans le guide de l'utilisateur *Amazon EC2*. 
**Note**  
Si vous souhaitez déjà utiliser des ressources Jenkins, vous pouvez le faire, mais vous devez créer un utilisateur IAM spécial, appliquer la politique `AWSCodePipelineCustomActionAccess` gérée à cet utilisateur, puis configurer et utiliser les informations d'identification d'accès de cet utilisateur sur votre ressource Jenkins. Si vous souhaitez que l'interface utilisateur Jenkins fournisse les informations d'identification, configurez Jenkins de sorte à uniquement autoriser les connexions HTTPS. Pour de plus amples informations, veuillez consulter [Résolution des problèmes CodePipeline](troubleshooting.md).

1. Installez Jenkins sur l'instance EC2. Pour plus d'informations, consultez la documentation de Jenkins relative à [l’installation de Jenkins](https://www.jenkins.io/doc/book/installing/linux/) et à [la mise en route et à l’accès à Jenkins](https://wiki.jenkins.io/JENKINS/Starting-and-Accessing-Jenkins.html), ainsi que [details of integration with Jenkins](integrations-action-type.md#JenkinsInt_2) dans [Intégrations de produits et de services avec CodePipeline](integrations.md).

1. Lancez Jenkins et sur la page d'accueil, choisissez **Manage Jenkins**.

1. Sur la page **Manage Jenkins**, choisissez **Manage Plugins**.

1. Choisissez l'onglet **Disponible** et, dans la zone de recherche **Filtre**, entrez **AWS CodePipeline**. Choisissez **CodePipeline Plugin for Jenkins** dans la liste, puis choisissez **Télécharger maintenant et installer après le redémarrage**.

1. Sur la page **Installing Plugins/Upgrades**, sélectionnez **Restart Jenkins when installation is complete and no jobs are running**.

1. Choisissez **Back to Dashboard**.

1. Sur la page principale, choisissez **New Item**.

1. Dans **Nom de l'élément**, entrez le nom du projet Jenkins (par exemple,{{MyDemoProject}}). Choisissez **Freestyle project**, puis **OK**.
**Note**  
Assurez-vous que le nom de votre projet répond aux exigences relatives à CodePipeline. Pour de plus amples informations, veuillez consulter [Quotas dans AWS CodePipeline](limits.md).

1. Sur la page de configuration du projet, cochez la case **Execute concurrent builds if necessary**. Dans **Gestion du code source**, choisissez **AWS CodePipeline**. Si vous avez installé Jenkins sur une instance EC2 et que vous l'avez configurée AWS CLI avec le profil de l'utilisateur IAM que vous avez créé pour l'intégration entre Jenkins CodePipeline et Jenkins, laissez tous les autres champs vides.

1. Choisissez **Avancé**, puis dans **Fournisseur**, entrez le nom du fournisseur de l'action tel qu'il apparaîtra dans CodePipeline (par exemple,{{MyJenkinsProviderName}}). Assurez-vous que ce nom est unique et facile à retenir. Vous l'utiliserez lorsque vous ajouterez une action de génération à votre pipeline un peu plus tard dans ce didacticiel, et à nouveau lorsque vous ajouterez une action de test.
**Note**  
Le nom de cette action doit respecter les exigences d'attribution de noms pour les actions dans CodePipeline. Pour de plus amples informations, veuillez consulter [Quotas dans AWS CodePipeline](limits.md).

1. Dans **Build Triggers**, décochez toutes les cases et sélectionnez **Poll SCM**. Dans **Schedule**, tapez cinq astérisques séparés par des espaces, comme suit :

   ```
   * * * * *
   ```

   Ce sondage est effectué CodePipeline toutes les minutes. 

1. Dans **Build**, choisissez **Add build step**. Choisissez **Execute shell** (Amazon Linux, RHEL ou Ubuntu Server) **Exécuter la commande batch** (Windows Server), puis entrez ce qui suit :

   ```
   rake
   ```
**Note**  
Assurez-vous que votre environnement est configuré avec les variables et les paramètres requis pour exécuter Rake ; dans le cas contraire, la génération échouera.

1. Choisissez **Ajouter une action après la génération**, puis choisissez **AWS CodePipeline Publisher**. Choisissez **Add** et dans **Build Output Locations**, laissez l'emplacement vide. Il s'agit de la configuration par défaut. Celle-ci crée un fichier compressé à la fin du processus de génération.

1. Choisissez **Save** pour enregistrer votre projet Jenkins.

## Étape 2 : créer un pipeline dans CodePipeline
<a name="tutorials-four-stage-pipeline-pipeline-create"></a>

Dans cette partie du didacticiel, vous créez le pipeline à l'aide de l'assistant **Créer un pipeline**. 

**Pour créer un processus de publication CodePipeline automatisé**

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. Si nécessaire, utilisez le sélecteur de région pour définir la même région que celle où se trouvent vos ressources de pipeline. Par exemple, si vous avez créé des ressources pour le didacticiel précédent dans`us-east-2`, assurez-vous que le sélecteur de région est défini sur USA East (Ohio).

   Pour plus d'informations sur les régions et les points de terminaison disponibles CodePipeline, consultez la section [AWS CodePipeline Points de terminaison et quotas](https://docs.aws.amazon.com/general/latest/gr/codepipeline.html).

1. Sur la page **Bienvenue**, la page **Démarrez** ou la page **Pipelines**, choisissez **Créer un pipeline**.

1. Sur la page **Étape 1 : Choisir une option de création**, sous **Options de création**, choisissez l'option **Créer un pipeline personnalisé**. Choisissez **Suivant**.

1. Sur la page **Étape 2 : Choisir les paramètres du pipeline**, dans **Nom du pipeline**, entrez le nom de votre pipeline.

1. CodePipeline fournit des pipelines de type V1 et V2, dont les caractéristiques et le prix diffèrent. Le type V2 est le seul type que vous pouvez choisir dans la console. Pour plus d'informations, consultez la section [Types de pipelines](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html?icmpid=docs_acp_help_panel). Pour plus d'informations sur la tarification CodePipeline, consultez la section [Tarification](https://aws.amazon.com/codepipeline/pricing/).

1. Dans **Rôle de service**, choisissez **Nouveau rôle de service** pour autoriser CodePipeline la création d'un rôle de service dans IAM.

1. Conservez les valeurs par défaut sous **Advanced settings (Paramètres avancés)**, puis choisissez **Suivant**.

1. Sur la page **Étape 3 : Ajouter une étape source**, dans **Source provider**, sélectionnez **GitHub**.

1. Sous **Connexion**, choisissez une connexion existante ou créez-en une nouvelle. Pour créer ou gérer une connexion pour votre action GitHub source, consultez[GitHub connexions](connections-github.md).

1. À **l'étape 4 : Ajouter une phase de construction**, choisissez **Ajouter Jenkins**. Dans **Nom du fournisseur**, entrez le nom de l'action que vous avez fournie dans le CodePipeline plugin pour Jenkins (par exemple{{MyJenkinsProviderName}}). Ce nom doit correspondre exactement au nom indiqué dans le CodePipeline plugin pour Jenkins. Dans **URL du serveur**, entrez l'URL de l'instance EC2 où Jenkins est installé. Dans **Nom du projet**, entrez le nom du projet que vous avez créé dans Jenkins, par exemple{{MyDemoProject}}, puis choisissez **Next**.

1. À **l'étape 5 : Ajouter une phase de test**, choisissez **Ignorer l'étape de test**, puis acceptez le message d'avertissement en choisissant à nouveau **Ignorer**. 

   Choisissez **Suivant**.

1. À **l'étape 6 : Ajouter une phase de déploiement**, réutilisez l' CodeDeploy application et le groupe de déploiement dans lesquels vous avez créé[Didacticiel : Création d'un pipeline simple (compartiment S3)](tutorials-simple-s3.md). Dans **Fournisseur de déploiement**, choisissez **CodeDeploy**. Dans **Nom de l'application**, entrez **CodePipelineDemoApplication**, ou choisissez le bouton d'actualisation et choisissez le nom de l'application dans la liste. Dans **Groupe de déploiement**, entrez **CodePipelineDemoFleet** ou choisissez-le dans la liste, puis choisissez **Suivant**.
**Note**  
Vous pouvez utiliser vos propres CodeDeploy ressources ou en créer de nouvelles, mais cela peut entraîner des coûts supplémentaires.

1. À **l'étape 7 : Passez** en revue, passez en revue les informations, puis choisissez **Créer un pipeline**.

1. Le pipeline démarre automatiquement et exécute le modèle à travers le pipeline. Vous pouvez consulter les messages de progression et de réussite et d'échec au fur et à mesure que le pipeline construit l'exemple Haml au format HTML et le déploie sur une page Web sur chacune des instances Amazon EC2 du déploiement. CodeDeploy

## Étape 3 : Ajouter une autre étape à votre pipeline
<a name="tutorials-four-stage-pipeline-add-stage"></a>

Vous allez maintenant ajouter une étape de test, puis une action de test à cette étape, laquelle utilise le test Jenkins inclus dans le modèle pour déterminer si la page web possède un contenu. Ce test est donné uniquement à des fins de démonstration.

**Note**  
Si vous ne souhaitez pas ajouter une autre étape à votre pipeline, vous pouvez ajouter une action de test à l'étape intermédiaire de celui-ci, avant ou après l'action de déploiement.

### Ajout d'une étape de test à votre pipeline
<a name="tutorials-four-stage-pipeline-add-stage-console"></a>

**Topics**
+ [Recherche de l'adresse IP d'une instance](#tutorials-four-stage-pipeline-instance-ip-lookup)
+ [Création d'un projet Jenkins pour tester le déploiement](#tutorials-four-stage-pipeline-create-jenkins-project)
+ [Création d'une quatrième étape](#tutorials-four-stage-pipeline-create-fourth-stage)

#### Recherche de l'adresse IP d'une instance
<a name="tutorials-four-stage-pipeline-instance-ip-lookup"></a>

**Pour vérifier l'adresse IP d'une instance où vous avez déployé votre code**

1. Lorsque l'état du pipeline affiche **Succeeded** dans la zone d'état de l'étape Intermédiaire, choisissez **Details**. 

1. Dans la section **Deployment Details**, sous **Instance ID**, choisissez l'identifiant d'instance de l'une des instances déployées avec succès. 

1. Copiez l'adresse IP de l'instance (par exemple,{{192.168.0.4}}). Vous utiliserez cette adresse IP dans votre test Jenkins.

#### Création d'un projet Jenkins pour tester le déploiement
<a name="tutorials-four-stage-pipeline-create-jenkins-project"></a>

**Création d'un projet Jenkins**

1. Dans l'instance où vous avez installé Jenkins, ouvrez Jenkins et choisissez **New Item** sur la page d'accueil.

1.  Dans **Nom de l'élément**, entrez le nom du projet Jenkins (par exemple,{{MyTestProject}}). Choisissez **Freestyle project**, puis **OK**.
**Note**  
Assurez-vous que le nom de votre projet répond aux CodePipeline exigences. Pour de plus amples informations, veuillez consulter [Quotas dans AWS CodePipeline](limits.md).

1. Sur la page de configuration du projet, cochez la case **Execute concurrent builds if necessary**. Dans **Gestion du code source**, choisissez **AWS CodePipeline**. Si vous avez installé Jenkins sur une instance EC2 et que vous l'avez configurée AWS CLI avec le profil de l'utilisateur IAM que vous avez créé pour l'intégration entre Jenkins CodePipeline et Jenkins, laissez tous les autres champs vides. 
**Important**  
Si vous configurez un projet Jenkins et qu'il n'est pas installé sur une instance Amazon EC2, ou s'il est installé sur une instance EC2 exécutant un système d'exploitation Windows, complétez les champs requis par les paramètres de votre hôte proxy et de votre port, et fournissez les informations d'identification de l'utilisateur ou du rôle IAM que vous avez configuré pour l'intégration entre Jenkins et. CodePipeline

1. Choisissez **Advanced** et dans **Category**, choisissez **Test**. 

1. Dans **Fournisseur**, entrez le même nom que celui que vous avez utilisé pour le projet de construction (par exemple,{{MyJenkinsProviderName}}). Vous utiliserez ce nom lorsque vous ajouterez l'action de test à votre pipeline un peu plus tard dans ce didacticiel.
**Note**  
Ce nom doit répondre aux exigences de CodePipeline dénomination des actions. Pour de plus amples informations, veuillez consulter [Quotas dans AWS CodePipeline](limits.md).

1. Dans **Build Triggers**, décochez toutes les cases et sélectionnez **Poll SCM**. Dans **Schedule**, tapez cinq astérisques séparés par des espaces, comme suit :

   ```
   * * * * *
   ```

   Ce sondage est effectué CodePipeline toutes les minutes. 

1. Dans **Build**, choisissez **Add build step**. Si vous effectuez un déploiement sur des instances Amazon Linux, RHEL ou Ubuntu Server, choisissez **Execute shell**. Entrez ensuite ce qui suit, où l'adresse IP est l'adresse de l'instance EC2 que vous avez copiée précédemment :

   ```
   TEST_IP_ADDRESS={{192.168.0.4}} rake test
   ```

   Si vous effectuez un déploiement sur des instances Windows Server, choisissez **Execute batch command**, puis entrez ce qui suit, où l'adresse IP est l'adresse de l'instance EC2 que vous avez copiée précédemment :

   ```
   set TEST_IP_ADDRESS={{192.168.0.4}} rake test
   ```
**Note**  
Ce test suppose la présence d'un port 80 par défaut. Si vous souhaitez spécifier un port différent, ajoutez une instruction de port de test, comme suit :   

   ```
   TEST_IP_ADDRESS={{192.168.0.4}} TEST_PORT={{8000}} rake test
   ```

1. Choisissez **Ajouter une action après la génération**, puis choisissez **AWS CodePipeline Publisher**. Ne choisissez pas **Add**.

1. Choisissez **Save** pour enregistrer votre projet Jenkins.

#### Création d'une quatrième étape
<a name="tutorials-four-stage-pipeline-create-fourth-stage"></a>

**Pour ajouter une étape à votre pipeline qui inclut l'action de test Jenkins**

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. Dans **Nom**, choisissez le nom du pipeline que vous avez créé, MySecondPipeline. 

1. Sur la page des détails du pipeline, choisissez **Edit**. 

1. Sur la page **Edit (Modifier)**, choisissez **\+ Stage (\+ étape)** pour ajouter une étape immédiatement après l'étape de génération. 

1. Dans le champ du nom de la nouvelle étape, entrez un nom (par exemple, **Testing**), puis choisissez **\+ Add action group (\+ Ajouter un groupe d'actions)**. 

1. Dans **Nom de l'action**, entrez{{MyJenkinsTest-Action}}. Dans **Fournisseur de test**, choisissez le nom du fournisseur que vous avez spécifié dans Jenkins (par exemple,{{MyJenkinsProviderName}}). Dans **Nom du projet**, entrez le nom du projet que vous avez créé dans Jenkins (par exemple,{{MyTestProject}}). **Dans **Artefacts d'entrée**, choisissez l'artefact de la version Jenkins dont le nom par défaut est{{BuildArtifact}}, puis cliquez sur Terminé.**
**Note**  
Comme l'action de test Jenkins fonctionne sur l'application générée dans l'étape de génération Jenkins, utilisez l'artefact de génération pour l'artefact d'entrée vers l'action de test.

   Pour en savoir plus sur les artéfacts d'entrée et de sortie et sur la structure des pipelines, consultez [CodePipeline référence de structure de pipeline](reference-pipeline-structure.md).

1. Sur la page **Edit** choisissez **Save pipeline changes**. Dans la boîte de dialogue **Save pipeline changes**, choisissez **Save and continue**.

1. Bien que la nouvelle étape a été ajoutée à votre pipeline, son état affiche **No executions yet** pour cette étape, car aucune modification n'a déclenché une autre exécution du pipeline. Pour faire passer l'échantillon dans le pipeline révisé, sur la page des détails du pipeline, choisissez **Release change**. 

   Le pipeline affiche ses étapes et ses actions, ainsi que l'état de la révision en cours d'exécution à travers ces quatre étapes. Le temps nécessaire à l'exécution du pipeline dans toutes les étapes dépendra de la taille des artéfacts, de la complexité de votre génération et des actions de test, en plus d'autres facteurs. 

## Étape 4 : Nettoyer les ressources
<a name="tutorials-four-stage-pipeline-clean-up"></a>

Une fois que vous avez terminé ce didacticiel, supprimez le pipeline, ainsi que les ressources qu'il utilise, afin d'éviter d'être facturé pour leur utilisation. Si vous n'avez pas l'intention de continuer à l'utiliser CodePipeline, supprimez le pipeline, puis l' CodeDeploy application et ses instances Amazon EC2 associées, et enfin, le compartiment Amazon S3 utilisé pour stocker les artefacts. Vous devez également envisager de supprimer d'autres ressources, telles que le GitHub référentiel, si vous n'avez pas l'intention de continuer à les utiliser.

**Pour nettoyer les ressources utilisées dans ce didacticiel**

1. Ouvrez une session de terminal sur votre machine Linux, macOS ou Unix locale, ou une invite de commande sur votre machine Windows locale, puis exécutez la **delete-pipeline** commande pour supprimer le pipeline que vous avez créé. Pour **MySecondPipeline**, entrez la commande suivante : 

   ```
   aws codepipeline delete-pipeline --name "MySecondPipeline"
   ```

   Cette commande ne donne aucun résultat.

1. Pour nettoyer vos CodeDeploy ressources, suivez les instructions de la [section Nettoyage](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-walkthrough.html#getting-started-walkthrough-clean-up).

1. Pour nettoyer les ressources de votre instance, supprimez l'instance EC2 où vous avez installé Jenkins. Pour plus d'informations, consultez [Nettoyez votre instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-clean-up-your-instance.html).

1. Si vous n'avez pas l'intention de créer d'autres pipelines ou de les CodePipeline réutiliser, supprimez le compartiment Amazon S3 utilisé pour stocker les artefacts de votre pipeline. Pour supprimer le compartiment, veuillez suivre les instructions contenues dans [Suppression d'un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/UG/DeletingaBucket.html).

1. Si vous ne souhaitez pas réutiliser les autres ressources pour ce pipeline, pensez à les supprimer en suivant les instructions propres à chacune d'elles. Par exemple, si vous souhaitez supprimer le GitHub référentiel, suivez les instructions de la section [Supprimer un référentiel](https://help.github.com/articles/deleting-a-repository/) sur le GitHub site Web.