

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.

# Automatisez le déploiement de votre AWS SAM application
<a name="serverless-deploying-modify-pipeline"></a>

Dans AWS SAM, la manière dont vous automatisez le déploiement de votre AWS SAM application varie en fonction du CI/CD système que vous utilisez. C'est pourquoi les exemples présentés dans cette section vous montrent comment configurer différents CI/CD systèmes pour automatiser la création d'applications sans serveur dans une image de conteneur de AWS SAM génération. Ces images de conteneur de génération facilitent la création et le package d'applications sans serveur à l'aide du AWS SAMCLI.

Les procédures de votre CI/CD pipeline existant pour déployer des applications sans serveur AWS SAM sont légèrement différentes selon le CI/CD système que vous utilisez.

Les rubriques suivantes fournissent des exemples de configuration de votre CI/CD système pour créer des applications sans serveur dans une image de conteneur de AWS SAM génération :

**Topics**
+ [Utilisation AWS CodePipeline pour déployer avec AWS SAM](deploying-using-codepipeline.md)
+ [Utilisation de Bitbucket Pipelines pour déployer avec AWS SAM](deploying-using-bitbucket.md)
+ [Utiliser Jenkins pour déployer avec AWS SAM](deploying-using-jenkins.md)
+ [Utilisation de GitLab CI/CD pour déployer avec AWS SAM](deploying-using-gitlab.md)
+ [Utiliser GitHub des actions pour déployer avec AWS SAM](deploying-using-github.md)

# Utilisation AWS CodePipeline pour déployer avec AWS SAM
<a name="deploying-using-codepipeline"></a>

Pour configurer votre [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)pipeline afin d'automatiser la création et le déploiement de votre AWS SAM application, votre CloudFormation modèle et votre `buildspec.yml` fichier doivent contenir les lignes suivantes :

1. Référencer une image de conteneur de création avec l’exécution nécessaire à partir des images disponibles. L’exemple suivant utilise l’image de conteneur de création `public.ecr.aws/sam/build-nodejs20.x`.

1. Configurez les étapes du pipeline pour exécuter les commandes d'interface de ligne de AWS SAM commande (CLI) nécessaires. L'exemple suivant exécute deux commandes de la CLI  AWS SAM : **sam build** et **sam deploy** (avec les options nécessaires).

Cet exemple suppose que vous avez déclaré toutes les fonctions et couches de votre fichier AWS SAM modèle avec`runtime: nodejs20.x`.

**CloudFormation extrait de modèle :**

```
  CodeBuildProject:
    Type: AWS::CodeBuild::Project
    Properties:
      Environment:
        ComputeType: BUILD_GENERAL1_SMALL
        Image: public.ecr.aws/sam/build-nodejs20.x
        Type: LINUX_CONTAINER
      ...
```

**`buildspec.yml` extrait :**

```
version: 0.2
phases:
  build:
    commands:
      - sam build
      - sam deploy --no-confirm-changeset --no-fail-on-empty-changeset
```

Pour obtenir la liste des images de conteneur de création Amazon Elastic Container Registry (Amazon ECR) disponibles pour différentes exécutions, consultez [Référentiels d'images pour AWS SAM](serverless-image-repositories.md).

# Utilisation de Bitbucket Pipelines pour déployer avec AWS SAM
<a name="deploying-using-bitbucket"></a>

Pour configurer votre [pipeline Bitbucket](https://support.atlassian.com/bitbucket-cloud/docs/get-started-with-bitbucket-pipelines/) afin d'automatiser la création et le déploiement de votre AWS SAM application, votre `bitbucket-pipelines.yml` fichier doit contenir les lignes suivantes :

1. Référencer une image de conteneur de création avec l’exécution nécessaire à partir des images disponibles. L’exemple suivant utilise l’image de conteneur de création `public.ecr.aws/sam/build-nodejs20.x`.

1. Configurez les étapes du pipeline pour exécuter les commandes d'interface de ligne de AWS SAM commande (CLI) nécessaires. L'exemple suivant exécute deux commandes de la CLI  AWS SAM : **sam build** et **sam deploy** (avec les options nécessaires).

Cet exemple suppose que vous avez déclaré toutes les fonctions et couches de votre fichier AWS SAM modèle avec`runtime: nodejs20.x`.

```
image: public.ecr.aws/sam/build-nodejs20.x

pipelines:
  branches:
    main: # branch name
      - step:
          name: Build and Package
          script:
            - sam build
            - sam deploy --no-confirm-changeset --no-fail-on-empty-changeset
```

Pour obtenir la liste des images de conteneur de construction Amazon Elastic Container Registry (Amazon ECR) disponibles pour différentes exécutions, consultez [Référentiels d'images pour AWS SAM](serverless-image-repositories.md).

# Utiliser Jenkins pour déployer avec AWS SAM
<a name="deploying-using-jenkins"></a>

Pour configurer votre pipeline [Jenkins](https://www.jenkins.io/) afin d'automatiser la création et le déploiement de votre AWS SAM application, vous `Jenkinsfile` devez contenir des lignes qui effectuent les opérations suivantes :

1. Référencer une image de conteneur de création avec l’exécution nécessaire à partir des images disponibles. L’exemple suivant utilise l’image de conteneur de création `public.ecr.aws/sam/build-nodejs20.x`.

1. Configurez les étapes du pipeline pour exécuter les commandes d'interface de ligne de AWS SAM commande (CLI) nécessaires. L'exemple suivant exécute deux commandes de la CLI  AWS SAM : **sam build** et **sam deploy** (avec les options nécessaires).

Cet exemple suppose que vous avez déclaré toutes les fonctions et couches de votre fichier AWS SAM modèle avec`runtime: nodejs20.x`.

```
pipeline {
    agent { docker { image 'public.ecr.aws/sam/build-nodejs20.x' } }
    stages {
        stage('build') {
            steps {
                sh 'sam build'
                sh 'sam deploy --no-confirm-changeset --no-fail-on-empty-changeset'
            }
        }
    }
}
```

Pour obtenir la liste des images de conteneur de construction Amazon Elastic Container Registry (Amazon ECR) disponibles pour différentes exécutions, consultez [Référentiels d'images pour AWS SAM](serverless-image-repositories.md).

# Utilisation de GitLab CI/CD pour déployer avec AWS SAM
<a name="deploying-using-gitlab"></a>

Pour configurer votre [GitLab](https://about.gitlab.com)pipeline afin d'automatiser la création et le déploiement de votre AWS SAM application, votre `gitlab-ci.yml` fichier doit contenir les lignes suivantes :

1. Référencer une image de conteneur de création avec l’exécution nécessaire à partir des images disponibles. L’exemple suivant utilise l’image de conteneur de création `public.ecr.aws/sam/build-nodejs20.x`.

1. Configurez les étapes du pipeline pour exécuter les commandes d'interface de ligne de AWS SAM commande (CLI) nécessaires. L'exemple suivant exécute deux commandes de la CLI  AWS SAM : **sam build** et **sam deploy** (avec les options nécessaires).

Cet exemple suppose que vous avez déclaré toutes les fonctions et couches de votre fichier AWS SAM modèle avec`runtime: nodejs20.x`.

```
image: public.ecr.aws/sam/build-nodejs20.x
deploy:
  script:
    - sam build
    - sam deploy --no-confirm-changeset --no-fail-on-empty-changeset
```

Pour obtenir la liste des images de conteneur de construction Amazon Elastic Container Registry (Amazon ECR) disponibles pour différentes exécutions, consultez [Référentiels d'images pour AWS SAM](serverless-image-repositories.md).

# Utiliser GitHub des actions pour déployer avec AWS SAM
<a name="deploying-using-github"></a>

Pour configurer votre [GitHub](https://github.com/)pipeline afin d'automatiser la création et le déploiement de votre AWS SAM application, vous devez d'abord installer l'interface de ligne de AWS SAM commande (CLI) sur votre hôte. Vous pouvez utiliser [GitHub les actions](https://github.com/features/actions) dans votre GitHub flux de travail pour faciliter cette configuration.

L'exemple de GitHub flux de travail suivant configure un hôte Ubuntu à l'aide d'une série d' GitHubactions, puis exécute des AWS SAMCLI commandes pour créer et déployer une AWS SAM application :

```
on:
  push:
    branches:
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v3
      - uses: aws-actions/setup-sam@v2
      - uses: aws-actions/configure-aws-credentials@v1
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-2
      - run: sam build --use-container
      - run: sam deploy --no-confirm-changeset --no-fail-on-empty-changeset
```

Pour obtenir la liste des images de conteneur de construction Amazon Elastic Container Registry (Amazon ECR) disponibles pour différentes exécutions, consultez [Référentiels d'images pour AWS SAM](serverless-image-repositories.md).