

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.

# Tutoriel : Création d'un pipeline avec AWS CloudFormation
<a name="tutorials-cloudformation"></a>

Les exemples fournissent des exemples de modèles que vous pouvez utiliser AWS CloudFormation pour créer un pipeline qui déploie votre application sur vos instances chaque fois que le code source change. L'exemple de modèle crée un pipeline que vous pouvez afficher dans AWS CodePipeline. Le pipeline détecte l'arrivée d'une modification enregistrée via Amazon CloudWatch Events.

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

**Topics**
+ [Exemple 1 : créer un AWS CodeCommit pipeline avec AWS CloudFormation](tutorials-cloudformation-codecommit.md)
+ [Exemple 2 : créer un pipeline Amazon S3 avec AWS CloudFormation](tutorials-cloudformation-s3.md)

# Exemple 1 : créer un AWS CodeCommit pipeline avec AWS CloudFormation
<a name="tutorials-cloudformation-codecommit"></a>

Cette présentation explique comment utiliser la AWS CloudFormation console pour créer une infrastructure qui inclut un pipeline connecté à un référentiel CodeCommit source. Dans ce didacticiel, vous utiliserez le fichier modèle fourni pour créer votre pile de ressources, qui inclut votre magasin d'artefacts, votre pipeline et vos ressources de détection des modifications, telles que votre règle Amazon CloudWatch Events. Après avoir créé votre pile de ressources dans AWS CloudFormation, vous pouvez consulter votre pipeline dans la AWS CodePipeline console. Le pipeline est un pipeline en deux étapes avec une étape CodeCommit source et une étape de CodeDeploy déploiement.

**Prérequis :**

Vous devez avoir créé les ressources suivantes à utiliser avec l' AWS CloudFormation exemple de modèle :
+ Vous devez avoir créé un référentiel source. Vous pouvez utiliser le AWS CodeCommit référentiel dans lequel vous l'avez créé[Tutoriel : Création d'un pipeline simple (CodeCommit référentiel)](tutorials-simple-codecommit.md).
+ Vous devez avoir créé une CodeDeploy application et un groupe de déploiement. Vous pouvez utiliser les ressources CodeDeploy que vous avez créées dans [Tutoriel : Création d'un pipeline simple (CodeCommit référentiel)](tutorials-simple-codecommit.md).
+ [Choisissez l'un de ces liens pour télécharger le AWS CloudFormation modèle de fichier d'exemple permettant de créer un pipeline : [YAML \$1 JSON](samples/codepipeline-codecommit-events-yaml.zip)](samples/codepipeline-codecommit-events-json.zip)

  Décompressez le fichier et placez-le sur votre ordinateur local.
+ Téléchargez l'exemple de fichier d'application [SampleApp\$1Linux.zip](samples/SampleApp_Linux.zip).



**Créez votre pipeline dans AWS CloudFormation**

1. Décompressez les fichiers du [SampleAppfichier \$1Linux.zip](samples/SampleApp_Linux.zip) et chargez-les dans votre AWS CodeCommit dépôt. Vous devez charger les fichiers décompressés dans le répertoire racine de votre référentiel. Vous pouvez suivre les instructions figurant dans [Étape 2 : ajouter un exemple de code à votre CodeCommit référentiel](tutorials-simple-codecommit.md#codecommit-add-code) pour transmettre les fichiers à votre référentiel.

1. Ouvrez la AWS CloudFormation console et choisissez **Create Stack**. Choisissez **Avec de nouvelles ressources (standard)**.

1. Sous **Spécifier le modèle**, choisissez **Charger un modèle**. Sélectionnez **Choisir un fichier**, puis choisissez le fichier modèle sur votre ordinateur local. Choisissez **Suivant**.

1. Dans **Nom de la pile**, entrez un nom pour votre pipeline. Les paramètres spécifiés par l'exemple de modèle s'affichent. Entrez les paramètres suivants : 

   1. Dans **ApplicationName**, entrez le nom de votre CodeDeploy application.

   1. Dans **BetaFleet**, entrez le nom de votre groupe de CodeDeploy déploiement.

   1. Dans **BranchName**, entrez la branche du référentiel que vous souhaitez utiliser.

   1. Dans **RepositoryName**, entrez le nom de votre référentiel CodeCommit source.

1. Choisissez **Suivant**. Acceptez les valeurs par défaut de la page suivante, puis choisissez **Suivant**.

1. Dans **Fonctionnalités**, sélectionnez **Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM**, puis choisissez **Create stack**.

1. Une fois la création de la pile terminée, affichez la liste des événements pour rechercher les erreurs éventuelles.

   **Résolution des problèmes**

   L'utilisateur IAM qui crée le pipeline AWS CloudFormation peut avoir besoin d'autorisations supplémentaires pour créer des ressources pour le pipeline. Les autorisations suivantes sont requises dans la politique afin de AWS CloudFormation créer les ressources Amazon CloudWatch Events requises pour le CodeCommit pipeline :

   ```
   {
        "Effect": "Allow",
        "Action": [
           "events:PutRule",
           "events:PutEvents",
           "events:PutTargets",
           "events:DeleteRule",
           "events:RemoveTargets",
           "events:DescribeRule"
        ],
        "Resource": "resource_ARN"
   }
   ```

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

   Sous **Pipelines**, choisissez votre pipeline et choisissez **Afficher**. Le schéma illustre les étapes source et de déploiement de votre pipeline.
**Note**  
Pour afficher le pipeline créé, recherchez la colonne **Logical ID** sous l'onglet **Ressources** correspondant à votre stack in CloudFormation. Notez le nom du pipeline dans la colonne **Physical ID**. Dans CodePipeline, vous pouvez afficher le pipeline avec le même identifiant physique (nom du pipeline) dans la région où vous avez créé votre pile.

1. Dans votre référentiel source, validez et envoyez une modification. Vos ressources de détection de modification récupèrent la modification, et votre pipeline démarre.

# Exemple 2 : créer un pipeline Amazon S3 avec AWS CloudFormation
<a name="tutorials-cloudformation-s3"></a>

Cette présentation explique comment utiliser la AWS CloudFormation console pour créer une infrastructure qui inclut un pipeline connecté à un compartiment source Amazon S3. Dans ce didacticiel, vous utiliserez le fichier modèle fourni pour créer votre pile de ressources, qui inclut votre compartiment source, votre magasin d'artefacts, votre pipeline et les ressources de détection des modifications, telles que votre règle et votre suivi Amazon CloudWatch Events. CloudTrail Après avoir créé votre pile de ressources dans AWS CloudFormation, vous pouvez consulter votre pipeline dans la AWS CodePipeline console. Le pipeline est un pipeline en deux étapes avec une étape source Amazon S3 et une étape de CodeDeploy déploiement.

**Prérequis :**

Vous devez disposer des ressources suivantes pour utiliser l' AWS CloudFormation exemple de modèle :
+ Vous devez avoir créé les instances Amazon EC2, sur lesquelles vous avez installé l' CodeDeploy agent. Vous devez avoir créé une CodeDeploy application et un groupe de déploiement. Utilisez Amazon EC2 et les CodeDeploy ressources que vous y avez créées. [Tutoriel : Création d'un pipeline simple (CodeCommit référentiel)](tutorials-simple-codecommit.md)
+ Cliquez sur les liens suivants pour télécharger les exemples de fichiers AWS CloudFormation modèles permettant de créer un pipeline avec une source Amazon S3 : 
  + Téléchargez l'exemple de modèle pour votre pipeline : [YAML](samples/codepipeline-s3-events-yaml.zip) \$1 [JSON](samples/codepipeline-s3-events-json.zip)
  + [Téléchargez le modèle d'exemple pour votre CloudTrail bucket et votre trail : [YAML \$1 JSON](samples/codepipeline-s3-cloudtrail-yaml.zip)](samples/codepipeline-s3-cloudtrail-json.zip)
  + Décompressez les fichiers et placez-les sur votre ordinateur local.
+ Téléchargez l'exemple d'application à partir du [SampleAppfichier \$1Linux.zip](samples/SampleApp_Linux.zip).

  Enregistrez le fichier .zip sur votre ordinateur local. Vous chargez le fichier .zip après la création de la pile.

**Créez votre pipeline dans AWS CloudFormation**

1. Ouvrez la AWS CloudFormation console, puis choisissez **Create Stack**. Choisissez **Avec de nouvelles ressources (standard)**.

1. Dans **Choisir un modèle**, choisissez **Charger un modèle**. Sélectionnez **Choisir un fichier**, puis choisissez le fichier modèle sur votre ordinateur local. Choisissez **Suivant**.

1. Dans **Nom de la pile**, entrez un nom pour votre pipeline. Les paramètres spécifiés par l'exemple de modèle s'affichent. Entrez les paramètres suivants : 

   1. Dans **ApplicationName**, entrez le nom de votre CodeDeploy application. Vous pouvez remplacer le nom par défaut `DemoApplication`.

   1. Dans **BetaFleet**, entrez le nom de votre groupe de CodeDeploy déploiement. Vous pouvez remplacer le nom par défaut `DemoFleet`.

   1. Dans le champ **SourceObjectKey**, saisissez `SampleApp_Linux.zip`. Vous chargez ce fichier dans votre compartiment une fois que le modèle a créé le compartiment et le pipeline.

1. Choisissez **Suivant**. Acceptez les valeurs par défaut de la page suivante, puis choisissez **Suivant**.

1. Dans **Fonctionnalités**, sélectionnez **Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM**, puis choisissez **Create stack**.

1. Une fois la création de la pile terminée, affichez la liste des événements pour rechercher les erreurs éventuelles.

   **Résolution des problèmes**

   L'utilisateur IAM qui crée le pipeline AWS CloudFormation peut avoir besoin d'autorisations supplémentaires pour créer des ressources pour le pipeline. Les autorisations suivantes sont requises dans la politique afin de AWS CloudFormation créer les ressources Amazon CloudWatch Events requises pour le pipeline Amazon S3 :

   ```
   {
        "Effect": "Allow",
        "Action": [
           "events:PutRule",
           "events:PutEvents",
           "events:PutTargets",
           "events:DeleteRule",
           "events:RemoveTargets",
           "events:DescribeRule"
        ],
        "Resource": "resource_ARN"
   }
   ```

1. Dans CloudFormation l'onglet **Ressources** de votre pile, consultez les ressources créées pour votre pile. 
**Note**  
Pour afficher le pipeline créé, recherchez la colonne **Logical ID** sous l'onglet **Ressources** correspondant à votre stack in CloudFormation. Notez le nom du pipeline dans la colonne **Physical ID**. Dans CodePipeline, vous pouvez afficher le pipeline avec le même identifiant physique (nom du pipeline) dans la région où vous avez créé votre pile.

   Choisissez le compartiment S3 dont le nom comporte une étiquette `sourcebucket`, par exemple `s3-cfn-codepipeline-sourcebucket-y04EXAMPLE.` Ne choisissez pas le compartiment d'artefacts de pipeline.

   Le compartiment source est vide, car la ressource est nouvellement créée par CloudFormation. Ouvrez la console Amazon S3 et localisez votre `sourcebucket` compartiment. Choisissez **Charger**, puis suivez les instructions pour charger votre fichier .zip `SampleApp_Linux.zip`.
**Note**  
Lorsque Amazon S3 est le fournisseur source de votre pipeline, vous devez télécharger dans votre compartiment tous les fichiers source regroupés sous la forme d'un seul fichier .zip. Sinon, l'action source échoue.

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

   Sous **Pipelines**, choisissez votre pipeline, puis choisissez **Afficher**. Le schéma illustre les étapes source et de déploiement de votre pipeline.

1. Effectuez les étapes de la procédure suivante pour créer vos ressources AWS CloudTrail .

**Créez vos AWS CloudTrail ressources dans AWS CloudFormation**

1. Ouvrez la AWS CloudFormation console, puis choisissez **Create Stack**.

1. Dans **Choisir un modèle**, choisissez **Télécharger un modèle sur Amazon S3**. Choisissez **Parcourir**, puis sélectionnez le fichier modèle pour les AWS CloudTrail ressources sur votre ordinateur local. Choisissez **Suivant**.

1. Dans **Nom de la pile**, entrez le nom de votre pile de ressources. Les paramètres spécifiés par l'exemple de modèle s'affichent. Entrez les paramètres suivants : 

   1. Dans **SourceObjectKey**, acceptez la valeur par défaut pour le fichier zip de l'exemple d'application.

1. Choisissez **Suivant**. Acceptez les valeurs par défaut de la page suivante, puis choisissez **Suivant**.

1. Dans **Fonctionnalités**, sélectionnez **Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM**, puis choisissez **Créer**.

1. Une fois la création de la pile terminée, affichez la liste des événements pour rechercher les erreurs éventuelles.

   Les autorisations suivantes sont requises dans la politique AWS CloudFormation afin de créer les CloudTrail ressources requises pour le pipeline Amazon S3 :

   ```
   {
        "Effect": "Allow",
        "Action": [
           "cloudtrail:CreateTrail",
           "cloudtrail:DeleteTrail",
           "cloudtrail:StartLogging",
           "cloudtrail:StopLogging",
           "cloudtrail:PutEventSelectors"
        ],
        "Resource": "resource_ARN"
   }
   ```

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

   Sous **Pipelines**, choisissez votre pipeline, puis choisissez **Afficher**. Le schéma illustre les étapes source et de déploiement de votre pipeline.

1. Dans votre compartiment source, validez et envoyez une modification. Vos ressources de détection de modification récupèrent la modification, et votre pipeline démarre.