

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Automatizza l'implementazione della tua AWS SAM applicazione
<a name="serverless-deploying-modify-pipeline"></a>

Inoltre AWS SAM, il modo in cui automatizzi la distribuzione dell' AWS SAM applicazione varia a seconda del CI/CD sistema che stai utilizzando. Per questo motivo, gli esempi in questa sezione mostrano come configurare vari CI/CD sistemi per automatizzare la creazione di applicazioni serverless in un'immagine del contenitore di AWS SAM compilazione. Queste immagini dei container di compilazione semplificano la creazione e il pacchetto di applicazioni serverless utilizzando. AWS SAMCLI

Le procedure utilizzate dalla CI/CD pipeline esistente per la distribuzione di applicazioni serverless AWS SAM sono leggermente diverse a seconda del CI/CD sistema in uso.

I seguenti argomenti forniscono esempi per configurare il CI/CD sistema per creare applicazioni serverless all'interno di un'immagine del contenitore di compilazione: AWS SAM 

**Topics**
+ [Utilizzo AWS CodePipeline per la distribuzione con AWS SAM](deploying-using-codepipeline.md)
+ [Utilizzo di Bitbucket Pipelines per la distribuzione con AWS SAM](deploying-using-bitbucket.md)
+ [Utilizzo di Jenkins per la distribuzione con AWS SAM](deploying-using-jenkins.md)
+ [Utilizzo di GitLab CI/CD per la distribuzione con AWS SAM](deploying-using-gitlab.md)
+ [Utilizzo GitHub delle azioni con cui eseguire la distribuzione AWS SAM](deploying-using-github.md)

# Utilizzo AWS CodePipeline per la distribuzione con AWS SAM
<a name="deploying-using-codepipeline"></a>

Per configurare la [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)pipeline in modo da automatizzare la creazione e la distribuzione dell' AWS SAM applicazione, il CloudFormation modello e il `buildspec.yml` file devono contenere righe che eseguano le seguenti operazioni:

1. Fai riferimento a un'immagine del contenitore di compilazione con il runtime necessario tra le immagini disponibili. L'esempio seguente utilizza l'immagine del contenitore di `public.ecr.aws/sam/build-nodejs20.x` compilazione.

1. Configura le fasi della pipeline per eseguire i comandi CLI ( AWS SAM Command Line Interface) necessari. L'esempio seguente esegue due AWS SAMCLI comandi: **sam build** e **sam deploy** (con le opzioni necessarie).

L'esempio presuppone che abbiate dichiarato tutte le funzioni e i livelli nel file AWS SAM modello con`runtime: nodejs20.x`.

**CloudFormation frammento di modello:**

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

**`buildspec.yml`frammento:**

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

Per un elenco delle immagini dei container di build Amazon Elastic Container Registry (Amazon ECR) disponibili per diversi runtime, consulta. [Archivi di immagini per AWS SAM](serverless-image-repositories.md)

# Utilizzo di Bitbucket Pipelines per la distribuzione con AWS SAM
<a name="deploying-using-bitbucket"></a>

Per configurare [Bitbucket Pipeline](https://support.atlassian.com/bitbucket-cloud/docs/get-started-with-bitbucket-pipelines/) per automatizzare la creazione e la distribuzione dell' AWS SAM applicazione, il `bitbucket-pipelines.yml` file deve contenere righe che eseguano le seguenti operazioni:

1. Fai riferimento a un'immagine del contenitore di compilazione con il runtime necessario tra le immagini disponibili. L'esempio seguente utilizza l'immagine del contenitore di `public.ecr.aws/sam/build-nodejs20.x` compilazione.

1. Configura le fasi della pipeline per eseguire i comandi CLI ( AWS SAM Command Line Interface) necessari. L'esempio seguente esegue due AWS SAMCLI comandi: **sam build** e **sam deploy** (con le opzioni necessarie).

L'esempio presuppone che abbiate dichiarato tutte le funzioni e i livelli nel file AWS SAM modello con`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
```

Per un elenco delle immagini dei container di build Amazon Elastic Container Registry (Amazon ECR) disponibili per diversi runtime, consulta. [Archivi di immagini per AWS SAM](serverless-image-repositories.md)

# Utilizzo di Jenkins per la distribuzione con AWS SAM
<a name="deploying-using-jenkins"></a>

Per configurare la pipeline [Jenkins](https://www.jenkins.io/) per automatizzare la compilazione e la distribuzione dell' AWS SAM applicazione, è `Jenkinsfile` necessario contenere righe che eseguano le seguenti operazioni:

1. Fai riferimento a un'immagine del contenitore di compilazione con il runtime necessario tra le immagini disponibili. L'esempio seguente utilizza l'immagine del contenitore di `public.ecr.aws/sam/build-nodejs20.x` compilazione.

1. Configura le fasi della pipeline per eseguire i comandi CLI ( AWS SAM Command Line Interface) necessari. L'esempio seguente esegue due AWS SAMCLI comandi: **sam build** e **sam deploy** (con le opzioni necessarie).

L'esempio presuppone che abbiate dichiarato tutte le funzioni e i livelli nel file AWS SAM modello con`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'
            }
        }
    }
}
```

Per un elenco delle immagini dei container di build Amazon Elastic Container Registry (Amazon ECR) disponibili per diversi runtime, consulta. [Archivi di immagini per AWS SAM](serverless-image-repositories.md)

# Utilizzo di GitLab CI/CD per la distribuzione con AWS SAM
<a name="deploying-using-gitlab"></a>

Per configurare la [GitLab](https://about.gitlab.com)pipeline in modo da automatizzare la creazione e la distribuzione dell' AWS SAM applicazione, il `gitlab-ci.yml` file deve contenere righe che eseguano le seguenti operazioni:

1. Fai riferimento a un'immagine del contenitore di compilazione con il runtime necessario tra le immagini disponibili. L'esempio seguente utilizza l'immagine del contenitore di `public.ecr.aws/sam/build-nodejs20.x` compilazione.

1. Configura le fasi della pipeline per eseguire i comandi CLI ( AWS SAM Command Line Interface) necessari. L'esempio seguente esegue due AWS SAMCLI comandi: **sam build** e **sam deploy** (con le opzioni necessarie).

L'esempio presuppone che abbiate dichiarato tutte le funzioni e i livelli nel file AWS SAM modello con`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
```

Per un elenco delle immagini dei container di build Amazon Elastic Container Registry (Amazon ECR) disponibili per diversi runtime, consulta. [Archivi di immagini per AWS SAM](serverless-image-repositories.md)

# Utilizzo GitHub delle azioni con cui eseguire la distribuzione AWS SAM
<a name="deploying-using-github"></a>

Per configurare la [GitHub](https://github.com/)pipeline in modo da automatizzare la creazione e la distribuzione dell' AWS SAM applicazione, è necessario innanzitutto installare l'interfaccia a riga di AWS SAM comando (CLI) sull'host. Puoi utilizzare [GitHub Actions](https://github.com/features/actions) nel tuo GitHub flusso di lavoro per facilitare questa configurazione.

Il seguente GitHub flusso di lavoro di esempio configura un host Ubuntu utilizzando una serie di GitHub azioni, quindi esegue AWS SAMCLI i comandi per creare e distribuire un' AWS SAM applicazione:

```
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
```

Per un elenco delle immagini dei container di build Amazon Elastic Container Registry (Amazon ECR) disponibili per diversi runtime, consulta. [Archivi di immagini per AWS SAM](serverless-image-repositories.md)