

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

# Hasilkan CI/CD pipa starter dengan AWS SAM
<a name="serverless-generating-example-ci-cd"></a>

Saat Anda siap mengotomatiskan penerapan, Anda dapat menggunakan salah AWS SAM satu templat pipeline pemula untuk menghasilkan pipeline penerapan untuk CI/CD sistem yang Anda pilih untuk digunakan. Pipeline penerapan Anda adalah apa yang Anda konfigurasikan dan gunakan untuk mengotomatiskan penerapan aplikasi tanpa server Anda. Template pipeline pemula sudah dikonfigurasi sebelumnya untuk membantu Anda menyiapkan pipeline penerapan dengan cepat untuk aplikasi tanpa server Anda. 

Dengan template pipeline starter, Anda dapat menghasilkan saluran pipa dalam hitungan menit menggunakan [sam pipeline init](sam-cli-command-reference-sam-pipeline-init.md) perintah.

Template pipeline starter menggunakan JSON/YAML sintaks CI/CD sistem yang sudah dikenal, dan menggabungkan praktik terbaik seperti mengelola artefak di beberapa akun dan wilayah, dan menggunakan jumlah izin minimum yang diperlukan untuk menerapkan aplikasi. [https://github.com/features/actions](https://github.com/features/actions)

Berikut adalah tugas tingkat tinggi yang perlu Anda lakukan untuk menghasilkan konfigurasi alur awal:

1. **Buat sumber daya infrastruktur** — Pipeline Anda memerlukan AWS sumber daya tertentu, misalnya pengguna IAM dan peran dengan izin yang diperlukan, bucket Amazon S3, dan secara opsional repositori Amazon ECR.

1. **Hubungkan repositori Git Anda dengan CI/CD sistem Anda — CI/CD Sistem** Anda perlu mengetahui repositori Git mana yang akan memicu pipeline untuk dijalankan. Perhatikan bahwa langkah ini mungkin tidak diperlukan, tergantung pada kombinasi repositori Git dan CI/CD sistem yang Anda gunakan.

1. **Hasilkan konfigurasi alur Anda** – Langkah ini menghasilkan konfigurasi alur awal yang mencakup dua tahap deployment.

1. **Komit konfigurasi pipeline Anda ke repositori Git Anda** — Langkah ini diperlukan untuk memastikan CI/CD sistem Anda mengetahui konfigurasi pipeline Anda, dan akan berjalan ketika perubahan dilakukan.

Setelah Anda membuat konfigurasi alur awal dan melakukannya ke repositori Git Anda, setiap kali seseorang melakukan perubahan kode ke repositori tersebut, alur Anda akan terpicu untuk berjalan secara otomatis.

Urutan langkah-langkah ini, dan detail setiap langkah, bervariasi berdasarkan sistem CI/CD Anda:
+ Jika Anda menggunakan AWS CodePipeline, lihat[Menghasilkan pipa starter untuk AWS CodePipeline in AWS SAM](serverless-generating-example-ci-cd-codepipeline.md).
+ Jika Anda menggunakan Jenkins, GitLab CI/CD, GitHub Actions, atau Bitbucket Pipelines, lihat. [Gunakan AWS SAM untuk menghasilkan pipa starter untuk Jenkins, GitLab CI/CD, Actions, Bitbucket Pipelines GitHub](serverless-generating-example-ci-cd-others.md)

# Menghasilkan pipa starter untuk AWS CodePipeline in AWS SAM
<a name="serverless-generating-example-ci-cd-codepipeline"></a>

Untuk menghasilkan konfigurasi pipeline starter AWS CodePipeline, lakukan tugas-tugas berikut dalam urutan ini:

1. Buat sumber daya infrastruktur

1. Hasilkan konfigurasi alur

1. Lakukan konfigurasi alur Anda ke Git

1. Hubungkan repositori Git Anda dengan sistem Anda CI/CD 

**catatan**  
Prosedur berikut menggunakan dua AWS SAMCLI perintah, `sam pipeline bootstrap` dan`sam pipeline init`. Alasan ada dua perintah adalah untuk menangani kasus penggunaan di mana administrator (yaitu, pengguna yang memerlukan izin untuk mengatur AWS sumber daya infrastruktur seperti pengguna dan peran IAM) memiliki lebih banyak izin daripada pengembang (yaitu, pengguna yang hanya memerlukan izin untuk mengatur saluran pipa individu, tetapi bukan sumber daya infrastruktur AWS yang diperlukan).

## Langkah 1: Buat sumber daya infrastruktur
<a name="generating-example-step-1"></a>

Saluran pipa yang menggunakan AWS SAM memerlukan AWS sumber daya tertentu, seperti pengguna IAM dan peran dengan izin yang diperlukan, bucket Amazon S3, dan secara opsional repositori Amazon ECR. Anda harus memiliki satu set sumber daya infrastruktur untuk setiap tahap deployment alur.

Anda dapat menjalankan perintah berikut guna membantu penyiapan ini:

```
sam pipeline bootstrap
```

**catatan**  
Jalankan perintah sebelumnya untuk setiap tahap penerapan pipeline Anda.

## Langkah 2: Hasilkan konfigurasi alur
<a name="generating-example-step-2"></a>

Untuk menghasilkan konfigurasi alur, jalankan perintah berikut:

```
sam pipeline init
```

## Langkah 3: Lakukan konfigurasi alur Anda ke repositori Git
<a name="generating-example-step-3"></a>

Langkah ini diperlukan untuk memastikan CI/CD sistem Anda mengetahui konfigurasi pipeline Anda, dan akan berjalan saat perubahan dilakukan.

## Langkah 4: Hubungkan repositori Git Anda dengan sistem Anda CI/CD
<a name="generating-example-step-4"></a>

Untuk AWS CodePipeline Anda sekarang dapat membuat koneksi dengan menjalankan perintah berikut:

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

Jika Anda menggunakan GitHub atau Bitbucket, setelah menjalankan **sam deploy** perintah sebelumnya, selesaikan koneksi dengan mengikuti langkah-langkah di bawah **Untuk menyelesaikan koneksi yang ditemukan pada topik Perbarui koneksi** [yang tertunda](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) di *panduan pengguna konsol Alat Pengembang*. Selain itu, simpan salinan `CodeStarConnectionArn` dari output **sam deploy** perintah, karena Anda akan membutuhkannya jika Anda ingin menggunakan AWS CodePipeline dengan cabang lain selain`main`.

## Mengonfigurasi cabang-cabang lain
<a name="configuring-other-branches"></a>

Secara default, AWS CodePipeline gunakan `main` cabang dengan AWS SAM. Jika ingin menggunakan cabang selain `main`, Anda harus menjalankan kembali perintah **sam deploy**. Perhatikan bahwa bergantung pada repositori Git mana yang digunakan, Anda mungkin juga perlu menyediakan `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>"
```

## Pelajari selengkapnya
<a name="serverless-generating-cicd-learn"></a>

*Untuk contoh langsung menyiapkan CI/CD pipeline, lihat [CI/CD dengan AWS CodePipeline](https://catalog.workshops.aws/complete-aws-sam/en-US/module-4-cicd) di The Complete Workshop. AWS SAM *

# Gunakan AWS SAM untuk menghasilkan pipa starter untuk Jenkins, GitLab CI/CD, Actions, Bitbucket Pipelines GitHub
<a name="serverless-generating-example-ci-cd-others"></a>

Untuk menghasilkan konfigurasi pipeline starter untuk Jenkins, GitLab CI/CD, GitHub Actions, atau Bitbucket Pipelines, lakukan tugas-tugas berikut dalam urutan ini:

1. Buat sumber daya infrastruktur

1. Hubungkan repositori Git Anda dengan sistem Anda CI/CD 

1. Buat objek kredensial

1. Hasilkan konfigurasi alur

1. Lakukan konfigurasi alur Anda ke repositori Git

**catatan**  
Prosedur berikut menggunakan dua AWS SAMCLI perintah, `sam pipeline bootstrap` dan`sam pipeline init`. Alasan ada dua perintah adalah untuk menangani kasus penggunaan di mana administrator (yaitu, pengguna yang memerlukan izin untuk mengatur AWS sumber daya infrastruktur seperti pengguna dan peran IAM) memiliki lebih banyak izin daripada pengembang (yaitu, pengguna yang hanya memerlukan izin untuk mengatur saluran pipa individu, tetapi bukan sumber daya infrastruktur AWS yang diperlukan).

## Langkah 1: Buat sumber daya infrastruktur
<a name="generating-example-step-1"></a>

Saluran pipa yang menggunakan AWS SAM memerlukan AWS sumber daya tertentu, seperti pengguna IAM dan peran dengan izin yang diperlukan, bucket Amazon S3, dan secara opsional repositori Amazon ECR. Anda harus memiliki satu set sumber daya infrastruktur untuk setiap tahap deployment alur.

Anda dapat menjalankan perintah berikut guna membantu penyiapan ini:

```
sam pipeline bootstrap
```

**catatan**  
Jalankan perintah sebelumnya untuk setiap tahap penerapan pipeline Anda.

Anda harus menangkap AWS kredensil (id kunci dan kunci rahasia) untuk pengguna pipeline untuk setiap tahap penerapan pipeline Anda, karena diperlukan untuk langkah selanjutnya.

## Langkah 2: Hubungkan repositori Git Anda dengan sistem Anda CI/CD
<a name="generating-example-step-2"></a>

Menghubungkan repositori Git Anda ke CI/CD sistem Anda diperlukan agar CI/CD sistem dapat mengakses kode sumber aplikasi Anda untuk build dan deployment.

**catatan**  
Anda dapat melewati langkah ini jika menggunakan salah satu kombinasi berikut, karena koneksi dibuat untuk Anda secara otomatis:  
GitHub Tindakan dengan GitHub repositori
GitLab CI/CD dengan repositori GitLab 
Bitbucket Pipelines dengan repositori Bitbucket

Untuk menghubungkan repositori Git Anda dengan CI/CD sistem Anda, lakukan salah satu hal berikut:
+ Jika Anda menggunakan Jenkins, lihat [dokumentasi Jenkins](https://www.jenkins.io/doc/book/pipeline/multibranch/) untuk “Menambahkan sumber cabang.”
+ Jika Anda menggunakan GitLab CI/CD dan repositori Git selain GitLab, lihat [GitLabdokumentasi](https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/) untuk “menghubungkan repositori eksternal.”

## Langkah 3: Buat objek kredensial
<a name="generating-example-step-3"></a>

Setiap CI/CD sistem memiliki caranya sendiri untuk mengelola kredensialnya yang diperlukan agar CI/CD sistem dapat mengakses repositori Git Anda.

Untuk membuat objek kredensial yang diperlukan, lakukan salah satu hal berikut:
+ Jika Anda menggunakan Jenkins, buat satu "kredensial" yang menyimpan id kunci dan kunci rahasia. Ikuti instruksi di blog [Membangun Alur Jenkins dengan AWS SAM](https://aws.amazon.com/blogs/compute/building-a-jenkins-pipeline-with-aws-sam/), di bagian **Konfigurasikan Jenkins**. Anda akan membutuhkan “id Kredensial” untuk langkah berikutnya.
+ Jika Anda menggunakan GitLab CI/CD, buat dua “variabel yang dilindungi”, satu untuk masing-masing id kunci dan kunci rahasia. Ikuti petunjuk dalam [GitLab dokumentasi](https://docs.gitlab.com/ee/ci/variables/) - Anda akan memerlukan dua “kunci variabel” untuk langkah berikutnya.
+ Jika Anda menggunakan GitHub Actions, buat dua “rahasia terenkripsi”, satu untuk masing-masing kunci dan kunci rahasia. Ikuti instruksi dalam [GitHubdokumentasi](https://docs.github.com/en/actions/reference/encrypted-secrets) - Anda akan memerlukan dua “nama rahasia” untuk langkah selanjutnya.
+ Jika Anda menggunakan Bitbucket Pipelines, buat dua “variabel aman”, satu untuk masing-masing id kunci dan kunci rahasia. Ikuti instruksi dalam [Variabel dan rahasia](https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets) - Anda akan memerlukan dua “nama rahasia” untuk langkah berikutnya.

## Langkah 4: Hasilkan konfigurasi alur
<a name="generating-example-step-4"></a>

Untuk menghasilkan konfigurasi alur, jalankan perintah berikut. Anda harus memasukkan objek kredensial yang dibuat pada langkah sebelumnya:

```
sam pipeline init
```

## Langkah 5: Lakukan konfigurasi alur Anda ke repositori Git
<a name="generating-example-step-5"></a>

Langkah ini diperlukan untuk memastikan CI/CD sistem Anda mengetahui konfigurasi pipeline Anda, dan akan berjalan saat perubahan dilakukan.

## Pelajari selengkapnya
<a name="serverless-generating-other-cicd-learn"></a>

*Untuk contoh langsung menyiapkan CI/CD pipeline menggunakan, lihat [CI/CD dengan GitHub](https://s12d.com/sam-ws-en-gh) di GitHub Actions The Complete Workshop. AWS SAM *