

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

# Menggunakan EB CLI dengan AWS CodeBuild
<a name="eb-cli-codebuild"></a>

[AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/) mengumpulkan kode sumber Anda, menjalankan pengujian unit, dan menghasilkan Artifact yang siap di-deploy. Anda dapat menggunakan CodeBuild bersama dengan EB CLI untuk mengotomatiskan pembuatan aplikasi Anda dari kode sumbernya. Pembuatan lingkungan dan setiap deployment sesudahnya dimulai dengan langkah pembangunan, dan kemudian men-deploy aplikasi yang dihasilkan.

**catatan**  
Beberapa daerah tidak menawarkan CodeBuild. Integrasi antara Elastic CodeBuild Beanstalk dan tidak berfungsi di wilayah ini.  
Untuk informasi tentang AWS layanan yang ditawarkan di setiap wilayah, lihat [Tabel Wilayah](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

## Membuat aplikasi
<a name="eb-cli-codebuild-using"></a>

**Untuk membuat aplikasi Elastic Beanstalk yang menggunakan CodeBuild**

1. Sertakan file spesifikasi CodeBuild build [https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html), di folder aplikasi Anda.

1. Tambahkan entri `eb_codebuild_settings` dengan opsi yang spesifik dengan Elastic Beanstalk ke file.

1. Jalankan [**eb init**](eb3-init.md) di folder.
**catatan**  
Jangan gunakan karakter period (`.`) atau spasi (` `) dalam *nama Aplikasi* saat Anda menggunakan EB CodeBuild CLI dengan. 

Elastic Beanstalk [CodeBuild memperluas format file spesifikasi build untuk menyertakan pengaturan tambahan berikut:](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html)

```
eb_codebuild_settings:
  CodeBuildServiceRole: role-name
  ComputeType: size
  Image: image
  Timeout: minutes
```

`CodeBuildServiceRole`  
ARN atau nama peran layanan AWS Identity and Access Management (IAM) yang CodeBuild dapat digunakan untuk berinteraksi dengan AWS layanan dependen atas nama Anda. Nilai ini diperlukan. Jika Anda menghilangkan itu, setiap perintah **eb create** atau **eb deploy** berikutnya gagal.  
Untuk mempelajari selengkapnya tentang membuat peran layanan CodeBuild, lihat [Membuat Peran CodeBuild Layanan](https://docs.aws.amazon.com/codebuild/latest/userguide/setting-up.html#setting-up-service-role) di *Panduan AWS CodeBuild Pengguna*.  
Anda juga memerlukan izin untuk melakukan tindakan CodeBuild itu sendiri. Kebijakan pengguna yang dikelola **AdministratorAccessElastic AWSElastic Beanstalk - Beanstalk** mencakup semua izin tindakan yang diperlukan. CodeBuild Jika Anda tidak menggunakan kebijakan terkelola, pastikan untuk mengizinkan izin berikut di kebijakan pengguna Anda.  

```
  "codebuild:CreateProject",
  "codebuild:DeleteProject",
  "codebuild:BatchGetBuilds",
  "codebuild:StartBuild"
```
Lihat perinciannya di [Mengelola kebijakan pengguna Elastic Beanstalk](AWSHowTo.iam.managed-policies.md).

`ComputeType`  
Jumlah sumber daya yang digunakan oleh kontainer Docker di lingkungan CodeBuild build. Nilai yang valid adalah BUILD\$1 GENERAL1 \$1SMALL, BUILD\$1 \$1MEDIUM, dan BUILD\$1 GENERAL1 \$1LARGE. GENERAL1

`Image`  
Nama image Docker Hub atau Amazon ECR yang CodeBuild digunakan untuk lingkungan build. Gambar Docker ini harus berisi semua alat dan pustaka runtime yang diperlukan untuk membangun kode Anda, dan harus sesuai dengan platform target aplikasi Anda. CodeBuild mengelola dan memelihara satu set gambar yang secara khusus dimaksudkan untuk digunakan dengan Elastic Beanstalk. Direkomendasikan agar Anda menggunakan salah satunya. Untuk detailnya, lihat [Gambar Docker Disediakan oleh CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html) di *Panduan AWS CodeBuild Pengguna*.  
Nilai `Image` bersifat opsional. Jika Anda menghilangkan itu, perintah **eb init** mencoba untuk memilih citra yang paling sesuai dengan platform target Anda. Selain itu, jika Anda menjalankan **eb init** dengan mode interaktif dan gagal untuk memilih citra untuk Anda, maka akan meminta Anda untuk memilih salah satu. Di akhir inisialisasi yang sukses, **eb init** menulis citra yang dipilih ke dalam file `buildspec.yml`.

`Timeout`  
Durasi, dalam hitungan menit, CodeBuild build berjalan sebelum waktu habis. Nilai ini bersifat opsional. Untuk detail tentang nilai valid dan default, lihat [Membuat Proyek Build di CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/create-project.html).  
Batas waktu ini mengontrol durasi maksimum untuk CodeBuild menjalankan, dan CLI EB juga menghormatinya sebagai bagian dari langkah pertama untuk membuat versi aplikasi. Ini berbeda dari nilai yang dapat Anda tentukan dengan opsi `--timeout` dari perintah [**eb create**](eb3-create.md) atau [**eb deploy**](eb3-deploy.md). Nilai terakhir mengontrol durasi maksimum untuk EB CLI menunggu pembuatan lingkungan atau pembaruan.

## Membangun dan men-deploy kode aplikasi Anda
<a name="eb-cli-codebuild-using"></a>

Kapan pun kode aplikasi Anda perlu diterapkan, CLI EB menggunakan CodeBuild untuk menjalankan build, lalu menyebarkan artefak build yang dihasilkan ke lingkungan Anda. Hal ini terjadi ketika Anda membuat lingkungan Elastic Beanstalk untuk aplikasi Anda menggunakan perintah [**eb create**](eb3-create.md), dan setiap kali Anda kemudian men-deploy perubahan kode ke lingkungan menggunakan perintah [**eb deploy**](eb3-deploy.md).

Jika CodeBuild langkah gagal, pembuatan atau penerapan lingkungan tidak dimulai.