

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 à déployer sur Service Catalog
<a name="tutorials-S3-servicecatalog"></a>

Service Catalog vous permet de créer et de fournir des produits à partir AWS CloudFormation de modèles. 

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

Ce didacticiel explique comment créer et configurer un pipeline pour déployer votre modèle de produit sur Service Catalog et apporter les modifications que vous avez apportées à votre référentiel source (déjà créé dans GitHub CodeCommit, ou Amazon S3).

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

Tout d'abord, vous créez un produit dans Service Catalog, puis vous créez un pipeline dans AWS CodePipeline. Ce didacticiel fournit deux options pour définir la configuration de déploiement :
+ Créez un produit dans Service Catalog et chargez un fichier modèle dans votre référentiel source. Fournissez la version du produit et la configuration de déploiement dans la CodePipeline console (sans fichier de configuration distinct). Consultez [Option 1 : Déployer vers Service Catalog sans fichier de configuration](#tutorials-S3-servicecatalog-ex1-configure).
**Note**  
Le fichier de modèle peut être créé au format YAML ou JSON.
+ Créez un produit dans Service Catalog et chargez un fichier modèle dans votre référentiel source. Fournir la version du produit et la configuration de déploiement dans un fichier de configuration distinct. Consultez [Option 2 : Déployer vers Service Catalog à l'aide d'un fichier de configuration](#tutorials-S3-servicecatalog-ex2-configure).

## Option 1 : Déployer vers Service Catalog sans fichier de configuration
<a name="tutorials-S3-servicecatalog-ex1-configure"></a>

Dans cet exemple, vous chargez le fichier AWS CloudFormation modèle d'un compartiment S3, puis vous créez votre produit dans Service Catalog. Ensuite, vous créez votre pipeline et spécifiez la configuration de déploiement dans la CodePipeline console.

### Étape 1 : Charger l'exemple de fichier de modèle dans le référentiel source
<a name="tutorials-S3-servicecatalog-configure"></a>

1. Ouvrez un éditeur de texte. Créez un exemple de modèle en collant les informations suivantes dans le fichier. Enregistrez le fichier sous le nom `S3_template.json`.

   ```
   {
     "AWSTemplateFormatVersion": "2010-09-09",
     "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.",
     "Resources": {
       "S3Bucket": {
         "Type": "AWS::S3::Bucket",
         "Properties": {}
       }
     },
     "Outputs": {
       "BucketName": {
         "Value": {
           "Ref": "S3Bucket"
         },
         "Description": "Name of Amazon S3 bucket to hold website content"
       }
     }
   }
   ```

   Ce modèle permet AWS CloudFormation de créer un compartiment S3 qui peut être utilisé par Service Catalog.

1. Chargez le fichier `S3_template.json` dans votre référentiel AWS CodeCommit .

### Étape 2 : Création d'un produit dans Service Catalog
<a name="tutorials-S3-servicecatalog-product"></a>

1. En tant qu'administrateur informatique, connectez-vous à la console Service Catalog, accédez à la page **Produits**, puis choisissez **Upload new product**.

1. Sur la page **Charger un nouveau produit**, procédez comme suit :

   1. Dans **Nom du produit**, entrez le nom que vous souhaitez utiliser pour votre nouveau produit.

   1. Dans **Description**, entrez la description du catalogue de produits. Cette description apparaît dans la liste des produits pour aider l'utilisateur à choisir le bon produit. 

   1. Dans **Fourni par**, entrez le nom de votre service ou administrateur informatique.

   1. Choisissez **Suivant**.

1. (Facultatif) Dans **Saisir les informations du Support**, saisissez les coordonnées du support produit, puis choisissez **Suivant**.

1. Dans **Détails de la version**, procédez comme suit :

   1. Choisissez **Charger un fichier de modèle**. Recherchez votre fichier `S3_template.json` et chargez-le.

   1. Dans **Nom de la version**, entrez le nom de la version du produit (par exemple, **devops S3 v2**).

   1. Dans **Description**, entrez les détails qui distinguent cette version des autres.

   1. Choisissez **Suivant**.

1. Dans la page **Vérification**, vérifiez que les informations sont exactes, puis choisissez **Créer**. 

1. Sur la page **Produits**, dans le navigateur, copiez l'URL de votre nouveau produit. Elle contient l'ID du produit. Copiez et conservez cet ID de produit. Vous l'utiliserez lorsque vous créerez votre pipeline dans CodePipeline.

   Voici l'URL d'un produit nommé `my-product`. Pour extraire l'ID de produit, copiez la valeur comprise entre le signe égal (`=`) et le caractère esperluette (`&`). Dans cet exemple, l'ID de produit est `prod-example123456`.

   ```
   https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
   ```
**Note**  
Copiez l'URL de votre produit avant de quitter la page. Lorsque vous quittez cette page, vous devez utiliser l'interface de ligne de commande pour obtenir votre ID de produit.

   Après quelques secondes, votre produit s'affiche sur la page **Produits**. Vous devrez peut-être actualiser votre navigateur pour voir le produit dans la liste.

### Étape 3 : Créer votre pipeline
<a name="tutorials-S3-servicecatalog-pipeline"></a>

1. Pour nommer votre pipeline et sélectionner ses paramètres, procédez comme suit :

   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/).

   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. À **l'étape 2 : Choisissez 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. Laissez les paramètres sous **Advanced settings (Paramètres avancés)** à leurs valeurs par défaut, puis choisissez **Suivant**.

1. Pour ajouter un stage source sur la page **Étape 3 : Ajouter un stage source**, procédez comme suit :

   1. Dans **Fournisseur de source**, choisissez **AWS CodeCommit**.

   1. Dans **Nom du référentiel** et **Nom de branche**, entrez le référentiel et la branche que vous souhaitez utiliser pour votre action source.

   1. Choisissez **Suivant**.

1. À **l'étape 4 : Ajouter une phase de construction**, choisissez **Ignorer l'étape** de génération, puis acceptez le message d'avertissement en choisissant à nouveau **Ignorer**.

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**, procédez comme suit :

   1. Dans **Fournisseur de déploiement**, choisissez **AWS Service Catalog**.

   1. Pour configuration du déploiement, choisissez **Entrer la configuration du déploiement**.

   1. Dans **Product ID**, collez l'ID de produit que vous avez copié depuis la console Service Catalog.

   1. Dans **Template file path (Chemin du fichier de modèle)**, entrez le chemin d'accès relatif de l'emplacement où le fichier de modèle est stocké.

   1. Dans **Type de produit**, choisissez le **CloudFormation modèle**.

   1. Dans **Nom de la version du produit**, entrez le nom de la version du produit que vous avez spécifiée dans Service Catalog. Si vous souhaitez que la modification du modèle soit déployée dans une nouvelle version de produit, entrez un nom de version de produit qui n'a été utilisé pour aucune version précédente du même produit.

   1. Pour **Artefact d'entrée**, choisissez l'artefact d'entrée source.

   1. Choisissez **Suivant**.

1. À **l'étape 7 : Révision**, passez en revue les paramètres de votre pipeline, puis choisissez **Créer**.

1. Une fois que votre pipeline s'exécute correctement, à l'étape de déploiement, choisissez **Détails**. Cela ouvre votre produit dans Service Catalog.  
![\[\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/deploy-servicecatalog-pipeline.png)

1. Sous les informations sur le produit, choisissez le nom de votre version pour ouvrir le modèle de produit. Affichez le déploiement du modèle.

### Étape 4 : Apportez une modification et vérifiez votre produit dans Service Catalog
<a name="tutorials-S3-servicecatalog-change"></a>

1. Consultez votre pipeline dans la CodePipeline console, puis sur votre scène source, choisissez **Details**. Votre AWS CodeCommit référentiel source s'ouvre dans la console. Choisissez **Modifier** et apportez une modification au fichier (par exemple, à la description). 

   ```
   "Description": "Name of Amazon S3 bucket to hold and version website content"
   ```

1. Validez et envoyez votre modification. Votre pipeline démarre une fois que vous avez envoyé la modification. Lorsque l'exécution du pipeline est terminée, lors de la phase de déploiement, choisissez **Details** pour ouvrir votre produit dans Service Catalog.

1. Sous les informations sur le produit, choisissez le nouveau nom de version pour ouvrir le modèle de produit. Affichez la modification du modèle déployé.

## Option 2 : Déployer vers Service Catalog à l'aide d'un fichier de configuration
<a name="tutorials-S3-servicecatalog-ex2-configure"></a>

Dans cet exemple, vous chargez le fichier AWS CloudFormation modèle d'un compartiment S3, puis vous créez votre produit dans Service Catalog. Vous pouvez également charger un fichier de configuration distinct qui spécifie votre configuration de déploiement. Ensuite, vous créez votre pipeline et spécifiez l'emplacement de votre fichier de configuration.

### Étape 1 : Charger l'exemple de fichier de modèle dans le référentiel source
<a name="tutorials-S3-servicecatalog-upload2"></a>

1. Ouvrez un éditeur de texte. Créez un exemple de modèle en collant les informations suivantes dans le fichier. Enregistrez le fichier sous le nom `S3_template.json`.

   ```
   {
     "AWSTemplateFormatVersion": "2010-09-09",
     "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.",
     "Resources": {
       "S3Bucket": {
         "Type": "AWS::S3::Bucket",
         "Properties": {}
       }
     },
     "Outputs": {
       "BucketName": {
         "Value": {
           "Ref": "S3Bucket"
         },
         "Description": "Name of Amazon S3 bucket to hold website content"
       }
     }
   }
   ```

   Ce modèle permet AWS CloudFormation de créer un compartiment S3 qui peut être utilisé par Service Catalog.

1. Chargez le fichier `S3_template.json` dans votre référentiel AWS CodeCommit .

### Étape 2 : Créer le fichier de configuration du déploiement de votre produit
<a name="tutorials-S3-servicecatalog-configure2"></a>

1. Ouvrez un éditeur de texte. Créez le fichier de configuration de votre produit. Le fichier de configuration est utilisé pour définir les paramètres/préférences de déploiement de Service Catalog. Vous utilisez ce fichier lorsque vous créez votre pipeline.

   Cet exemple fournit le nom de version de produit (`ProductVersionName`) « devops S3 v2 » et la description de version de produit (`ProductVersionDescription`) `MyProductVersionDescription`. Si vous souhaitez que la modification du modèle soit déployée dans une nouvelle version de produit, entrez simplement un nom de version de produit qui n'a été utilisé pour aucune version précédente du même produit.

    Enregistrez le fichier sous le nom `sample_config.json`.

   ```
   {
       "SchemaVersion": "1.0",
       "ProductVersionName": "devops S3 v2",
       "ProductVersionDescription": "MyProductVersionDescription",
       "ProductType": "CLOUD_FORMATION_TEMPLATE",
       "Properties": {
           "TemplateFilePath": "/S3_template.json"
       }
   }
   ```

   Ce fichier crée automatiquement les informations sur la version de produit à chaque fois que votre pipeline s'exécute.

1. Chargez le fichier `sample_config.json` dans votre référentiel AWS CodeCommit . Veillez à charger ce fichier dans votre référentiel source.

### Étape 3 : Création d'un produit dans Service Catalog
<a name="tutorials-S3-servicecatalog-product2"></a>

1. En tant qu'administrateur informatique, connectez-vous à la console Service Catalog, accédez à la page **Produits**, puis choisissez **Upload new product**.

1. Sur la page **Charger un nouveau produit**, procédez comme suit :

   1. Dans **Nom du produit**, entrez le nom que vous souhaitez utiliser pour votre nouveau produit.

   1. Dans **Description**, entrez la description du catalogue de produits. Cette description apparaît dans la liste des produits pour aider l'utilisateur à choisir le bon produit. 

   1. Dans **Fourni par**, entrez le nom de votre service ou administrateur informatique.

   1. Choisissez **Suivant**.

1. (Facultatif) Dans **Saisir les informations du Support**, saisissez les coordonnées du support produit, puis choisissez **Suivant**.

1. Dans **Détails de la version**, procédez comme suit :

   1. Choisissez **Charger un fichier de modèle**. Recherchez votre fichier `S3_template.json` et chargez-le.

   1. Dans **Nom de la version**, entrez le nom de la version du produit (par exemple, « devops S3 v2 »).

   1. Dans **Description**, entrez les détails qui distinguent cette version des autres.

   1. Choisissez **Suivant**.

1. Sur la page **Vérification**, vérifiez que les informations sont correctes, puis choisissez **Confirmer et charger**. 

1. Sur la page **Produits**, dans le navigateur, copiez l'URL de votre nouveau produit. Elle contient l'ID du produit. Copiez et conservez cet ID de produit. Vous l'utiliserez lorsque vous créerez votre pipeline dans CodePipeline.

   Voici l'URL d'un produit nommé `my-product`. Pour extraire l'ID de produit, copiez la valeur comprise entre le signe égal (`=`) et le caractère esperluette (`&`). Dans cet exemple, l'ID de produit est `prod-example123456`. 

   ```
   https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
   ```
**Note**  
Copiez l'URL de votre produit avant de quitter la page. Lorsque vous quittez cette page, vous devez utiliser l'interface de ligne de commande pour obtenir votre ID de produit.

   Après quelques secondes, votre produit s'affiche sur la page **Produits**. Vous devrez peut-être actualiser votre navigateur pour voir le produit dans la liste.

### Étape 4 : Créer votre pipeline
<a name="tutorials-S3-servicecatalog-pipeline2"></a>

1. Pour nommer votre pipeline et sélectionner ses paramètres, procédez comme suit :

   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/).

   1. Choisissez **Mise en route**. Choisissez **Créer un pipeline**, puis entrez un nom pour votre pipeline.

   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. Laissez les paramètres sous **Advanced settings (Paramètres avancés)** à leurs valeurs par défaut, puis choisissez **Suivant**.

1. Pour ajouter une étape source, procédez comme suit :

   1. Dans **Fournisseur de source**, choisissez **AWS CodeCommit**.

   1. Dans **Nom du référentiel** et **Nom de branche**, entrez le référentiel et la branche que vous souhaitez utiliser pour votre action source.

   1. Choisissez **Suivant**.

1. Dans **Add build stage (Ajouter une étape de génération)**, choisissez **Skip build stage (Ignorer l'étape de génération)** et acceptez le message d'avertissement en choisissant à nouveau **Skip (Ignorer)**.

1. Dans **Add deploy stage (Ajouter une étape de déploiement)**, procédez comme suit :

   1. Dans **Fournisseur de déploiement**, choisissez **AWS Service Catalog**.

   1. Choisissez **Use configuration file (Utiliser un fichier de configuration)**.

   1. Dans **Product ID**, collez l'ID de produit que vous avez copié depuis la console Service Catalog.

   1. Dans **Configuration file path (Chemin du fichier de configuration)**, entrez le chemin d'accès du fichier de configuration dans votre référentiel.

   1. Choisissez **Suivant**.

1. Dans **Vérification**, vérifiez les paramètres de votre pipeline, puis choisissez **Créer**.

1. Une fois votre pipeline exécuté avec succès, lors de votre phase de déploiement, choisissez **Details** pour ouvrir votre produit dans Service Catalog.  
![\[\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/deploy-servicecatalog-pipeline.png)

1. Sous les informations sur le produit, choisissez le nom de votre version pour ouvrir le modèle de produit. Affichez le déploiement du modèle.

### Étape 5 : Envoyer (push) une modification et vérifier votre produit dans Service Catalog
<a name="tutorials-S3-servicecatalog-change2"></a>

1. Affichez votre pipeline dans la CodePipeline console, puis sur la scène source, choisissez **Détails**. Votre AWS CodeCommit référentiel source s'ouvre dans la console. Choisissez **Modifier**, puis apportez une modification au fichier (par exemple, à la description).

   ```
   "Description": "Name of Amazon S3 bucket to hold and version website content"
   ```

1. Validez et envoyez votre modification. Votre pipeline démarre une fois que vous avez envoyé la modification. Lorsque l'exécution du pipeline est terminée, lors de la phase de déploiement, choisissez **Details** pour ouvrir votre produit dans Service Catalog.

1. Sous les informations sur le produit, choisissez le nouveau nom de version pour ouvrir le modèle de produit. Affichez la modification du modèle déployé.