

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.

# Génération d'un pipeline de démarrage pour AWS CodePipeline in AWS SAM
<a name="serverless-generating-example-ci-cd-codepipeline"></a>

Pour générer une configuration de pipeline de démarrage pour AWS CodePipeline, effectuez les tâches suivantes dans cet ordre :

1. Créer des ressources d’infrastructure

1. Générer la configuration du pipeline

1. Associer la configuration du pipeline au référentiel Git

1. Connectez votre dépôt Git à votre CI/CD système

**Note**  
La procédure suivante utilise deux commandes de la CLI  AWS SAM, `sam pipeline bootstrap` et `sam pipeline init`. La raison pour laquelle il existe deux commandes est de gérer le cas d'utilisation où les administrateurs (c'est-à-dire les utilisateurs qui ont besoin d'une autorisation pour configurer des AWS ressources d'infrastructure telles que les utilisateurs et les rôles IAM) ont plus d'autorisations que les développeurs (c'est-à-dire les utilisateurs qui ont juste besoin d'une autorisation pour configurer des pipelines individuels, mais pas les AWS ressources d'infrastructure requises).

## Étape 1 : créer des ressources d’infrastructure
<a name="generating-example-step-1"></a>

Les pipelines utilisés AWS SAM nécessitent certaines AWS ressources, comme un utilisateur IAM et des rôles dotés des autorisations nécessaires, un compartiment Amazon S3 et éventuellement un référentiel Amazon ECR. Vous devez disposer d’un ensemble de ressources d’infrastructure pour chaque étape de déploiement du pipeline.

Vous pouvez exécuter la commande suivante pour vous aider avec cette configuration :

```
sam pipeline bootstrap
```

**Note**  
Exécutez la commande précédente pour chaque étape de déploiement du pipeline.

## Étape 2 : générer la configuration du pipeline
<a name="generating-example-step-2"></a>

Pour générer la configuration du pipeline, exécutez la commande suivante :

```
sam pipeline init
```

## Étape 3 : associer la configuration du pipeline au référentiel Git
<a name="generating-example-step-3"></a>

Cette étape est nécessaire pour s'assurer que votre CI/CD système connaît la configuration de votre pipeline et qu'elle sera exécutée lorsque les modifications seront validées.

## Étape 4 : Connectez votre dépôt Git à votre CI/CD système
<a name="generating-example-step-4"></a>

Car AWS CodePipeline vous pouvez désormais créer la connexion en exécutant la commande suivante :

```
sam deploy -t codepipeline.yaml --stack-name <pipeline-stack-name> --capabilities=CAPABILITY_IAM --region <region-X>
```

Si vous utilisez GitHub Bitbucket, après avoir exécuté la **sam deploy** commande précédemment, terminez la connexion en suivant les étapes décrites dans la section Pour établir **une connexion trouvée dans la rubrique Mettre à jour une connexion** [en attente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) dans le *guide de l'utilisateur de la console Developer Tools*. En outre, stockez une copie `CodeStarConnectionArn` de la sortie de la **sam deploy** commande, car vous en aurez besoin si vous souhaitez l'utiliser AWS CodePipeline avec une autre branche que`main`.

## Configuration d’autres branches
<a name="configuring-other-branches"></a>

Par défaut, AWS CodePipeline utilise la `main` branche avec AWS SAM. Si vous voulez utiliser une branche autre que `main`, vous devez exécuter à nouveau la commande **sam deploy**. Notez que selon le référentiel Git que vous utilisez, il se peut que vous deviez aussi fournir le `CodeStarConnectionArn` :

```
# For GitHub and Bitbucket
sam deploy -t codepipeline.yaml --stack-name <feature-pipeline-stack-name> --capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=<branch-name> CodeStarConnectionArn=<codestar-connection-arn>"

# For AWS CodeCommit
sam deploy -t codepipeline.yaml --stack-name <feature-pipeline-stack-name> --capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=<branch-name>"
```

## En savoir plus
<a name="serverless-generating-cicd-learn"></a>

Pour un exemple pratique de configuration d'un CI/CD pipeline, voir [CI/CD with AWS CodePipeline](https://catalog.workshops.aws/complete-aws-sam/en-US/module-4-cicd) dans *The Complete AWS SAM * Workshop.