

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Otomatiskan penerapan aplikasi Anda AWS SAM
<a name="serverless-deploying-modify-pipeline"></a>

Dalam AWS SAM, cara Anda mengotomatiskan penerapan AWS SAM aplikasi Anda bervariasi tergantung pada CI/CD sistem yang Anda gunakan. Untuk alasan ini, contoh di bagian ini menunjukkan kepada Anda cara mengonfigurasi berbagai CI/CD sistem untuk mengotomatiskan pembuatan aplikasi tanpa server dalam image kontainer AWS SAM build. Gambar kontainer build ini memudahkan pembuatan dan paket aplikasi tanpa server menggunakan file. AWS SAMCLI

Prosedur untuk CI/CD pipeline yang ada untuk menyebarkan aplikasi tanpa server yang AWS SAM digunakan sedikit berbeda tergantung pada CI/CD sistem yang Anda gunakan.

Topik berikut memberikan contoh untuk mengonfigurasi CI/CD sistem Anda untuk membangun aplikasi tanpa server dalam image container AWS SAM build:

**Topics**
+ [Menggunakan AWS CodePipeline untuk menyebarkan dengan AWS SAM](deploying-using-codepipeline.md)
+ [Menggunakan Bitbucket Pipelines untuk menerapkan dengan AWS SAM](deploying-using-bitbucket.md)
+ [Menggunakan Jenkins untuk menyebarkan AWS SAM](deploying-using-jenkins.md)
+ [Menggunakan GitLab CI/CD untuk menyebarkan dengan AWS SAM](deploying-using-gitlab.md)
+ [Menggunakan GitHub Tindakan untuk menyebarkan dengan AWS SAM](deploying-using-github.md)

# Menggunakan AWS CodePipeline untuk menyebarkan dengan AWS SAM
<a name="deploying-using-codepipeline"></a>

Untuk mengonfigurasi [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)pipeline agar mengotomatiskan pembuatan dan penerapan AWS SAM aplikasi, CloudFormation template dan `buildspec.yml` file harus berisi baris yang melakukan hal berikut:

1. Referensikan citra kontainer build dengan waktu aktif yang diperlukan dari citra yang tersedia. Contoh berikut menggunakan citra kontainer build `public.ecr.aws/sam/build-nodejs20.x`.

1. Konfigurasikan tahapan pipeline untuk menjalankan AWS SAM perintah command line interface (CLI) yang diperlukan. Contoh berikut menjalankan dua AWS SAMCLI perintah: **sam build** dan **sam deploy** (dengan opsi yang diperlukan).

Contoh ini mengasumsikan bahwa Anda telah mendeklarasikan semua fungsi dan lapisan dalam file AWS SAM template Anda dengan`runtime: nodejs20.x`.

**CloudFormation cuplikan templat:**

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

**`buildspec.yml`cuplikan:**

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

Untuk daftar citra kontainer build Amazon Elastic Container Registry (Amazon ECR) yang tersedia untuk waktu aktif yang berbeda, lihat [Repositori gambar untuk AWS SAM](serverless-image-repositories.md).

# Menggunakan Bitbucket Pipelines untuk menerapkan dengan AWS SAM
<a name="deploying-using-bitbucket"></a>

Untuk mengonfigurasi [Bitbucket Pipeline](https://support.atlassian.com/bitbucket-cloud/docs/get-started-with-bitbucket-pipelines/) untuk mengotomatiskan pembuatan dan penerapan AWS SAM aplikasi Anda, `bitbucket-pipelines.yml` file Anda harus berisi baris yang melakukan hal berikut:

1. Referensikan citra kontainer build dengan waktu aktif yang diperlukan dari citra yang tersedia. Contoh berikut menggunakan citra kontainer build `public.ecr.aws/sam/build-nodejs20.x`.

1. Konfigurasikan tahapan pipeline untuk menjalankan AWS SAM perintah command line interface (CLI) yang diperlukan. Contoh berikut menjalankan dua AWS SAMCLI perintah: **sam build** dan **sam deploy** (dengan opsi yang diperlukan).

Contoh ini mengasumsikan bahwa Anda telah mendeklarasikan semua fungsi dan lapisan dalam file AWS SAM template Anda dengan`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
```

Untuk daftar citra kontainer build Amazon Elastic Container Registry (Amazon ECR) yang tersedia untuk waktu aktif yang berbeda, lihat [Repositori gambar untuk AWS SAM](serverless-image-repositories.md).

# Menggunakan Jenkins untuk menyebarkan AWS SAM
<a name="deploying-using-jenkins"></a>

Untuk mengonfigurasi pipeline [Jenkins](https://www.jenkins.io/) untuk mengotomatiskan pembuatan dan penerapan AWS SAM aplikasi Anda, Anda `Jenkinsfile` harus berisi baris yang melakukan hal berikut:

1. Referensikan citra kontainer build dengan waktu aktif yang diperlukan dari citra yang tersedia. Contoh berikut menggunakan citra kontainer build `public.ecr.aws/sam/build-nodejs20.x`.

1. Konfigurasikan tahapan pipeline untuk menjalankan AWS SAM perintah command line interface (CLI) yang diperlukan. Contoh berikut menjalankan dua AWS SAMCLI perintah: **sam build** dan **sam deploy** (dengan opsi yang diperlukan).

Contoh ini mengasumsikan bahwa Anda telah mendeklarasikan semua fungsi dan lapisan dalam file AWS SAM template Anda dengan`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'
            }
        }
    }
}
```

Untuk daftar citra kontainer build Amazon Elastic Container Registry (Amazon ECR) yang tersedia untuk waktu aktif yang berbeda, lihat [Repositori gambar untuk AWS SAM](serverless-image-repositories.md).

# Menggunakan GitLab CI/CD untuk menyebarkan dengan AWS SAM
<a name="deploying-using-gitlab"></a>

Untuk mengonfigurasi [GitLab](https://about.gitlab.com)pipeline agar mengotomatiskan pembuatan dan penerapan AWS SAM aplikasi, `gitlab-ci.yml` file harus berisi baris yang melakukan hal berikut:

1. Referensikan citra kontainer build dengan waktu aktif yang diperlukan dari citra yang tersedia. Contoh berikut menggunakan citra kontainer build `public.ecr.aws/sam/build-nodejs20.x`.

1. Konfigurasikan tahapan pipeline untuk menjalankan AWS SAM perintah command line interface (CLI) yang diperlukan. Contoh berikut menjalankan dua AWS SAMCLI perintah: **sam build** dan **sam deploy** (dengan opsi yang diperlukan).

Contoh ini mengasumsikan bahwa Anda telah mendeklarasikan semua fungsi dan lapisan dalam file AWS SAM template Anda dengan`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
```

Untuk daftar citra kontainer build Amazon Elastic Container Registry (Amazon ECR) yang tersedia untuk waktu aktif yang berbeda, lihat [Repositori gambar untuk AWS SAM](serverless-image-repositories.md).

# Menggunakan GitHub Tindakan untuk menyebarkan dengan AWS SAM
<a name="deploying-using-github"></a>

Untuk mengonfigurasi [GitHub](https://github.com/)pipeline untuk mengotomatiskan pembuatan dan penerapan AWS SAM aplikasi, Anda harus terlebih dahulu menginstal antarmuka baris AWS SAM perintah (CLI) di host Anda. Anda dapat menggunakan [GitHub Tindakan](https://github.com/features/actions) dalam GitHub alur kerja untuk membantu penyiapan ini.

Contoh GitHub alur kerja berikut menyiapkan host Ubuntu menggunakan serangkaian GitHub Tindakan, lalu menjalankan AWS SAMCLI perintah untuk membangun dan menyebarkan aplikasi AWS SAM :

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

Untuk daftar citra kontainer build Amazon Elastic Container Registry (Amazon ECR) yang tersedia untuk waktu aktif yang berbeda, lihat [Repositori gambar untuk AWS SAM](serverless-image-repositories.md).