

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

# Membuat proyek pembangunan di AWS CodeBuild
<a name="create-project"></a>

Anda dapat menggunakan AWS CodeBuild konsol, AWS CLI, atau AWS SDK untuk membuat proyek build.

**Topics**
+ [Prasyarat](#create-project-prerequisites)
+ [Membuat proyek build (konsol)](#create-project-console)
+ [Buat proyek build (AWS CLI)](#create-project-cli)
+ [Buat proyek build (AWS SDK)](#create-project-sdks)
+ [Buat proyek build (CloudFormation)](#create-project-cloud-formation)

## Prasyarat
<a name="create-project-prerequisites"></a>

Sebelum membuat proyek build, jawab pertanyaan di[Merencanakan build](planning.md).

## Membuat proyek build (konsol)
<a name="create-project-console"></a>

Buka AWS CodeBuild konsol di [ https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

 Jika halaman CodeBuild informasi ditampilkan, pilih ** Buat proyek build**. Jika tidak, pada panel navigasi, per ** luas Bang ** un, pilih ** Bang ** un proyek, lalu pilih ** Buat proyek build**. 

Pilih ** Buat proyek pembangunan**. 

Isi bagian berikut. Setelah selesai, pilih ** Buat proyek build ** di bagian bawah halaman.

**Topics**
+ [Konfigurasi proyek](#create-project-console-project-config)
+ [Sumber](#create-project-console-source)
+ [Lingkungan](#create-project-console-environment)
+ [Spesifikasi Bangun](#create-project-console-buildspec)
+ [Konfigurasi batch](#create-project-console-batch-config)
+ [Artifacts](#create-project-console-artifacts)
+ [Beberapa catatan](#create-project-console-logs)

### Konfigurasi proyek
<a name="create-project-console-project-config"></a>

**Nama proyek **  
Masukkan nama untuk proyek build ini. Nama proyek build harus unik di setiap AWS akun. 

**Deskripsi**  
Masukkan deskripsi opsional proyek build untuk membantu pengguna lain memahami untuk apa proyek ini digunakan.

**Bangun lencana **  
(Opsional) Pilih ** Aktifkan lencana build ** untuk membuat status build proyek Anda terlihat dan dapat disematkan. Untuk informasi selengkapnya, lihat [Bangun contoh lencana](sample-build-badges.md).  
Lencana build tidak berlaku jika penyedia sumber Anda adalah Amazon S3. 

**Aktifkan batas build bersamaan **  <a name="enable-concurrent-build-limit.console"></a>
(Opsional) Jika Anda ingin membatasi jumlah build bersamaan untuk proyek ini, lakukan langkah-langkah berikut:  

1. Pilih ** Batasi jumlah build bersamaan yang dapat dimulai ** proyek ini.

1. Di ** Batas build ** bersamaan, masukkan jumlah maksimum build bersamaan yang diizinkan untuk proyek ini. Batas ini tidak boleh lebih besar dari batas build bersamaan yang ditetapkan untuk akun. Jika Anda mencoba memasukkan angka yang lebih besar dari batas akun, pesan kesalahan ditampilkan.
Pembuatan baru hanya dimulai jika jumlah pembuatan saat ini kurang dari atau sama dengan batas ini. Jika jumlah pembuatan saat ini memenuhi batas ini, pembuatan baru ditutup dan tidak dijalankan.

**Informasi tambahan **  
(Opsional) Untuk ** Tag**, masukkan nama dan nilai tag apa pun yang ingin AWS digunakan layanan pendukung. Gunakan ** Tambahkan baris ** untuk menambahkan tag. Anda dapat menambahkan hingga 50 tag. 

### Sumber
<a name="create-project-console-source"></a>

**Penyedia sumber **  
Pilih jenis penyedia kode sumber. Gunakan daftar berikut untuk membuat pilihan yang sesuai untuk penyedia sumber Anda:  
CodeBuild tidak mendukung Bitbucket Server.

------
#### [ Amazon S3 ]

 **Bucket**   
Pilih nama bucket input yang berisi kode sumber. 

 **Kunci objek S3 atau folder S3 **   
Masukkan nama file ZIP atau jalur ke folder yang berisi kode sumber. Masukkan garis miring ke depan (/) untuk mengunduh semua yang ada di bucket S3. 

 **Versi sumber **   
Masukkan ID versi objek yang mewakili build file input Anda. Untuk informasi selengkapnya, lihat[Contoh versi sumber dengan AWS CodeBuild](sample-source-version.md). 

------
#### [ CodeCommit ]

 **Repositori **   
Pilih repositori yang ingin Anda gunakan.

**Jenis referensi **  
Pilih ** Branch ****, tag Git ****, atau Com ** mit ID untuk menentukan versi kode sumber Anda. Untuk informasi selengkapnya, lihat [Contoh versi sumber dengan AWS CodeBuild](sample-source-version.md).  
Kami menyarankan Anda memilih nama cabang Git yang tidak terlihat seperti ID komit, seperti `811dd1ba1aba14473856cee38308caed7190c0d` atau`5392f7`. Ini membantu Anda menghindari tabrakan checkout Git dengan commit aktual.

 **Kedalaman klon Git **   
Pilih untuk membuat klon dangkal dengan riwayat terpotong ke jumlah commit yang ditentukan. Jika Anda ingin klon penuh, pilih Pen ** uh**. 

**Git submodul **  
Pilih ** Gunakan submodul Git ** jika Anda ingin menyertakan submodul Git dalam repositori Anda. 

------
#### [ Bitbucket ]

 **Kredensimen **   
Pilih Kredensi sumber ** default ** atau kredensi sumber ** kustom ** dan ikuti petunjuk untuk mengelola kredensi sumber default atau menyesuaikan kredensi sumber.

 **Jenis koneksi **   
Pilih ** CodeConnections**, ** OAuth**, Kata sandi ** aplikasi**, atau token akses ** pribadi ** untuk terhubung. CodeBuild

 **Koneksi **   
Pilih koneksi Bitbucket atau rahasia Manajer Rahasia untuk terhubung melalui jenis koneksi yang Anda tentukan.

 **Repositori **   
Pilih ** Repositori di akun Bitbucket saya ** atau Repositori ** publik ** dan masukkan URL repositori.

 **Versi sumber **   
Masukkan cabang, ID komit, tag, atau referensi dan ID komit. Untuk informasi selengkapnya, lihat [Contoh versi sumber dengan AWS CodeBuild](sample-source-version.md)   
Kami menyarankan Anda memilih nama cabang Git yang tidak terlihat seperti ID komit, seperti `811dd1ba1aba14473856cee38308caed7190c0d` atau`5392f7`. Ini membantu Anda menghindari tabrakan checkout Git dengan commit aktual.

 **Kedalaman klon Git **   
Pilih kedalaman klon ** Git ** untuk membuat klon dangkal dengan riwayat terpotong ke jumlah commit yang ditentukan. Jika Anda ingin klon penuh, pilih Pen ** uh**. 

**Git submodul **  
Pilih ** Gunakan submodul Git ** jika Anda ingin menyertakan submodul Git dalam repositori Anda. 

**Membangun status **  
Pilih ** Laporkan status build ke penyedia sumber saat build dimulai dan selesai ** jika Anda ingin status mulai dan penyelesaian build dilaporkan ke penyedia sumber Anda.   
Untuk dapat melaporkan status build ke penyedia sumber, pengguna yang terkait dengan penyedia sumber harus memiliki akses tulis ke repo. Jika pengguna tidak memiliki akses tulis, status build tidak dapat diperbarui. Untuk informasi selengkapnya, lihat [Akses penyedia sumber](access-tokens.md).  
Untuk konteks ** Status**, masukkan nilai yang akan digunakan untuk `name` parameter dalam status komit Bitbucket. Untuk informasi selengkapnya, lihat [build](https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) dalam dokumentasi Bitbucket API.  
Untuk URL ** Target**, masukkan nilai yang akan digunakan untuk `url` parameter dalam status komit Bitbucket. Untuk informasi selengkapnya, lihat [build](https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) dalam dokumentasi Bitbucket API.  
Status build yang dipicu oleh webhook selalu dilaporkan ke penyedia sumber. Agar status build yang dimulai dari konsol atau panggilan API dilaporkan ke penyedia sumber, Anda harus memilih pengaturan ini.  
Jika build proyek Anda dipicu oleh webhook, Anda harus mendorong komit baru ke repo agar perubahan pada pengaturan ini berlaku.

Di acara webhook sumber ** utama**, pilih ** Bangun kembali setiap kali perubahan kode didorong ke repositori ini ** jika Anda CodeBuild ingin membangun kode sumber setiap kali perubahan kode didorong ke repositori ini. Untuk informasi selengkapnya tentang webhook dan grup filter, lihat[Acara webhook Bitbucket](bitbucket-webhook.md).

------
#### [ GitHub ]

 **Kredensimen **   
Pilih Kredensi sumber ** default ** atau kredensi sumber ** kustom ** dan ikuti petunjuk untuk mengelola kredensi sumber default atau menyesuaikan kredensi sumber.

 **Jenis koneksi **   
Pilih ** GitHub App**, ** OAuth**, atau Token akses Pri ** badi ** untuk terhubung. CodeBuild

 **Koneksi **   
Pilih GitHub koneksi atau rahasia Manajer Rahasia untuk terhubung melalui jenis koneksi yang Anda tentukan.

 **Repositori **   
Pilih ** Repositori di GitHub akun saya**, Repositori ** publik**, atau ** GitHub webhook bercakupan ** dan masukkan URL repositori.

 **Versi sumber **   
Masukkan cabang, ID komit, tag, atau referensi dan ID komit. Untuk informasi selengkapnya, lihat [Contoh versi sumber dengan AWS CodeBuild](sample-source-version.md)   
Kami menyarankan Anda memilih nama cabang Git yang tidak terlihat seperti ID komit, seperti `811dd1ba1aba14473856cee38308caed7190c0d` atau`5392f7`. Ini membantu Anda menghindari tabrakan checkout Git dengan commit aktual.

 **Kedalaman klon Git **   
Pilih kedalaman klon ** Git ** untuk membuat klon dangkal dengan riwayat terpotong ke jumlah commit yang ditentukan. Jika Anda ingin klon penuh, pilih Pen ** uh**. 

**Git submodul **  
Pilih ** Gunakan submodul Git ** jika Anda ingin menyertakan submodul Git dalam repositori Anda. 

**Membangun status **  
Pilih ** Laporkan status build ke penyedia sumber saat build dimulai dan selesai ** jika Anda ingin status mulai dan penyelesaian build dilaporkan ke penyedia sumber Anda.   
Untuk dapat melaporkan status build ke penyedia sumber, pengguna yang terkait dengan penyedia sumber harus memiliki akses tulis ke repo. Jika pengguna tidak memiliki akses tulis, status build tidak dapat diperbarui. Untuk informasi selengkapnya, lihat [Akses penyedia sumber](access-tokens.md).  
Untuk konteks ** Status**, masukkan nilai yang akan digunakan untuk `context` parameter dalam status GitHub commit. Untuk informasi selengkapnya, lihat [ Membuat status kom ](https://developer.github.com/v3/repos/statuses/#create-a-commit-status) it di panduan GitHub pengembang.  
Untuk URL ** Target**, masukkan nilai yang akan digunakan untuk `target_url` parameter dalam status GitHub commit. Untuk informasi selengkapnya, lihat [ Membuat status kom ](https://developer.github.com/v3/repos/statuses/#create-a-commit-status) it di panduan GitHub pengembang.  
Status build yang dipicu oleh webhook selalu dilaporkan ke penyedia sumber. Agar status build yang dimulai dari konsol atau panggilan API dilaporkan ke penyedia sumber, Anda harus memilih pengaturan ini.  
Jika build proyek Anda dipicu oleh webhook, Anda harus mendorong komit baru ke repo agar perubahan pada pengaturan ini berlaku.

Di acara webhook sumber ** utama**, pilih ** Bangun kembali setiap kali perubahan kode didorong ke repositori ini ** jika Anda CodeBuild ingin membangun kode sumber setiap kali perubahan kode didorong ke repositori ini. Untuk informasi selengkapnya tentang webhook dan grup filter, lihat[GitHub acara webhook](github-webhook.md).

------
#### [ GitHub Enterprise Server ]

 **Kredensimen **   
Pilih Kredensi sumber ** default ** atau kredensi sumber ** kustom ** dan ikuti petunjuk untuk mengelola kredensi sumber default atau menyesuaikan kredensi sumber.

 **Jenis koneksi **   
Pilih ** CodeConnections ** atau Token akses ** pribadi ** untuk terhubung CodeBuild.

 **Koneksi **   
Pilih koneksi GitHub Perusahaan atau rahasia Manajer Rahasia untuk terhubung melalui jenis koneksi yang Anda tentukan.

 **Repositori **   
Pilih ** Repositori di akun GitHub Perusahaan saya ** atau webhook bercakupan ** GitHub perusahaan ** dan masukkan URL repositori.

**Versi sumber **  
Masukkan permintaan tarik, cabang, ID komit, tag, atau referensi dan ID komit. Untuk informasi selengkapnya, lihat [Contoh versi sumber dengan AWS CodeBuild](sample-source-version.md).   
Kami menyarankan Anda memilih nama cabang Git yang tidak terlihat seperti ID komit, seperti `811dd1ba1aba14473856cee38308caed7190c0d` atau`5392f7`. Ini membantu Anda menghindari tabrakan checkout Git dengan commit aktual.

**Kedalaman klon Git **  
Pilih kedalaman klon ** Git ** untuk membuat klon dangkal dengan riwayat terpotong ke jumlah commit yang ditentukan. Jika Anda ingin klon penuh, pilih Pen ** uh**. 

**Git submodul **  
Pilih ** Gunakan submodul Git ** jika Anda ingin menyertakan submodul Git dalam repositori Anda. 

**Membangun status **  
Pilih ** Laporkan status build ke penyedia sumber saat build dimulai dan selesai ** jika Anda ingin status mulai dan penyelesaian build dilaporkan ke penyedia sumber Anda.   
Untuk dapat melaporkan status build ke penyedia sumber, pengguna yang terkait dengan penyedia sumber harus memiliki akses tulis ke repo. Jika pengguna tidak memiliki akses tulis, status build tidak dapat diperbarui. Untuk informasi selengkapnya, lihat [Akses penyedia sumber](access-tokens.md).  
Untuk konteks ** Status**, masukkan nilai yang akan digunakan untuk `context` parameter dalam status GitHub commit. Untuk informasi selengkapnya, lihat [ Membuat status kom ](https://developer.github.com/v3/repos/statuses/#create-a-commit-status) it di panduan GitHub pengembang.  
Untuk URL ** Target**, masukkan nilai yang akan digunakan untuk `target_url` parameter dalam status GitHub commit. Untuk informasi selengkapnya, lihat [ Membuat status kom ](https://developer.github.com/v3/repos/statuses/#create-a-commit-status) it di panduan GitHub pengembang.  
Status build yang dipicu oleh webhook selalu dilaporkan ke penyedia sumber. Agar status build yang dimulai dari konsol atau panggilan API dilaporkan ke penyedia sumber, Anda harus memilih pengaturan ini.  
Jika build proyek Anda dipicu oleh webhook, Anda harus mendorong komit baru ke repo agar perubahan pada pengaturan ini berlaku.

**SSL tidak aman **  
Pilih ** Aktifkan SSL tidak aman ** untuk mengabaikan peringatan SSL saat menghubungkan ke repositori proyek GitHub Enterprise Anda. 

Di acara webhook sumber ** utama**, pilih ** Bangun kembali setiap kali perubahan kode didorong ke repositori ini ** jika Anda CodeBuild ingin membangun kode sumber setiap kali perubahan kode didorong ke repositori ini. Untuk informasi selengkapnya tentang webhook dan grup filter, lihat[GitHub acara webhook](github-webhook.md).

------
#### [ GitLab ]

 **Kredensimen **   
Pilih Kredensi sumber ** default ** atau kredensi sumber ** kustom ** dan ikuti petunjuk untuk mengelola kredensi sumber default atau menyesuaikan kredensi sumber.

 **Jenis koneksi **   
**CodeConnections**digunakan untuk terhubung GitLab ke CodeBuild.

 **Koneksi **   
Pilih GitLab koneksi untuk terhubung CodeConnections.

 **Repositori **   
Pilih repositori yang ingin Anda gunakan.

 **Versi sumber **   
Masukkan ID permintaan tarik, cabang, ID komit, tag, atau referensi dan ID komit. Untuk informasi selengkapnya, lihat [Contoh versi sumber dengan AWS CodeBuild](sample-source-version.md).   
Kami menyarankan Anda memilih nama cabang Git yang tidak terlihat seperti ID komit, seperti `811dd1ba1aba14473856cee38308caed7190c0d` atau`5392f7`. Ini membantu Anda menghindari tabrakan checkout Git dengan commit aktual.

 **Kedalaman klon Git **   
Pilih kedalaman klon ** Git ** untuk membuat klon dangkal dengan riwayat terpotong ke jumlah commit yang ditentukan. Jika Anda ingin klon penuh, pilih Pen ** uh**. 

**Membangun status **  
Pilih ** Laporkan status build ke penyedia sumber saat build dimulai dan selesai ** jika Anda ingin status mulai dan penyelesaian build dilaporkan ke penyedia sumber Anda.   
Untuk dapat melaporkan status build ke penyedia sumber, pengguna yang terkait dengan penyedia sumber harus memiliki akses tulis ke repo. Jika pengguna tidak memiliki akses tulis, status build tidak dapat diperbarui. Untuk informasi selengkapnya, lihat [Akses penyedia sumber](access-tokens.md).

------
#### [ GitLab Self Managed ]

 **Kredensimen **   
Pilih Kredensi sumber ** default ** atau kredensi sumber ** kustom ** dan ikuti petunjuk untuk mengelola kredensi sumber default atau menyesuaikan kredensi sumber.

 **Jenis koneksi **   
**CodeConnections**digunakan untuk menghubungkan GitLab Self Managed ke CodeBuild.

 **Koneksi **   
Pilih koneksi yang GitLab Dikelola Sendiri untuk terhubung CodeConnections.

 **Repositori **   
Pilih repositori yang ingin Anda gunakan.

 **Versi sumber **   
Masukkan ID permintaan tarik, cabang, ID komit, tag, atau referensi dan ID komit. Untuk informasi selengkapnya, lihat [Contoh versi sumber dengan AWS CodeBuild](sample-source-version.md).   
Kami menyarankan Anda memilih nama cabang Git yang tidak terlihat seperti ID komit, seperti `811dd1ba1aba14473856cee38308caed7190c0d` atau`5392f7`. Ini membantu Anda menghindari tabrakan checkout Git dengan commit aktual.

 **Kedalaman klon Git **   
Pilih kedalaman klon ** Git ** untuk membuat klon dangkal dengan riwayat terpotong ke jumlah commit yang ditentukan. Jika Anda ingin klon penuh, pilih Pen ** uh**. 

**Membangun status **  
Pilih ** Laporkan status build ke penyedia sumber saat build dimulai dan selesai ** jika Anda ingin status mulai dan penyelesaian build dilaporkan ke penyedia sumber Anda.   
Untuk dapat melaporkan status build ke penyedia sumber, pengguna yang terkait dengan penyedia sumber harus memiliki akses tulis ke repo. Jika pengguna tidak memiliki akses tulis, status build tidak dapat diperbarui. Untuk informasi selengkapnya, lihat [Akses penyedia sumber](access-tokens.md).

------

### Lingkungan
<a name="create-project-console-environment"></a>

**Model penyediaan **  
Lakukan salah satu tindakan berikut:  
+ Untuk menggunakan armada sesuai permintaan yang dikelola oleh AWS CodeBuild, pilih ** On-demand**. Dengan armada sesuai permintaan, CodeBuild menyediakan komputasi untuk build Anda. Mesin-mesin hancur ketika pembangunan selesai. On-demand armada dikelola sepenuhnya, dan mencakup kemampuan penskalaan otomatis untuk menangani lonjakan permintaan.
+ Untuk menggunakan armada kapasitas cadangan yang dikelola oleh AWS CodeBuild, pilih ** Kapasitas ** cadangan, lalu pilih nama ** Ar ** mada. Dengan armada kapasitas cadangan, Anda mengonfigurasi satu set instans khusus untuk lingkungan build Anda. Mesin-mesin ini tetap diam, siap untuk memproses build atau pengujian segera, dan mengurangi durasi pembuatan. Dengan armada kapasitas cadangan, mesin Anda selalu berjalan dan akan terus mengeluarkan biaya selama disediakan.
Untuk informasi, lihat [Jalankan build pada armada kapasitas yang dicadangkan](fleets.md).

**Citra lingkungan **  <a name="environment-image.console"></a>
Lakukan salah satu tindakan berikut:  
+ Untuk menggunakan image Docker yang dikelola oleh AWS CodeBuild, pilih Gambar ** terkel ** ola, lalu buat pilihan dari Sistem ** operasi**, ** Runtime**, ** Gambar**, dan versi ** ** Gambar. Buat pilihan dari jenis ** Lingkungan ** jika tersedia.
+ Untuk menggunakan gambar Docker lain, pilih ** Custom image**. Untuk tipe ** Lingkungan**, pilih ** ARM**, ** Linux**, ** Linux GPU**, atau ** Windows**. Jika Anda memilih Registry ** lain**, untuk URL registri ** eksternal**, masukkan nama dan tag gambar Docker di Docker Hub, menggunakan format. `{{docker repository}}/{{docker image name}}` Jika Anda memilih ** Amazon ECR**, gunakan repositori ** Amazon ECR ** dan gambar ** Amazon ECR ** untuk memilih gambar Docker di AWS akun Anda.
+ Untuk menggunakan image Docker pribadi, pilih Gambar ** ** kustom. Untuk tipe ** Lingkungan**, pilih ** ARM**, ** Linux**, ** Linux GPU**, atau ** Windows**. Untuk ** Registri gambar**, pilih Registry ** lain**, lalu masukkan ARN kredensional untuk image Docker pribadi Anda. KredenSIAL harus dibuat oleh Manajer Rahasia. Untuk informasi lebih lanjut, lihat [Apa itu AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) di *Panduan Pengguna AWS Secrets Manager *.
CodeBuild mengesampingkan `ENTRYPOINT` untuk gambar Docker kustom.

**Menghitung **  
Lakukan salah satu tindakan berikut:  
+ Untuk menggunakan komputasi EC2, pilih ** EC2. ** Komputasi EC2 menawarkan fleksibilitas yang dioptimalkan selama tindakan berjalan.
+ Untuk menggunakan Lambda compute, pilih ** Lambda. ** Lambda compute menawarkan kecepatan start-up yang dioptimalkan untuk build Anda. Lambda mendukung build yang lebih cepat karena latensi start-up yang lebih rendah. Lambda juga secara otomatis menskalakan, jadi build tidak menunggu dalam antrian untuk dijalankan. Untuk informasi selengkapnya, lihat [Jalankan dibangun di AWS Lambda komputasi](lambda.md).

**Peran layanan **  
Lakukan salah satu tindakan berikut:  
+ Jika Anda tidak memiliki peran CodeBuild layanan, pilih Per ** an layanan baru**. Di Nama ** peran**, masukkan nama untuk peran baru.
+ Jika Anda memiliki peran CodeBuild layanan, pilih Peran layanan ** yang ada**. Di ** Role ARN**, pilih peran layanan.
Saat Anda menggunakan konsol untuk membuat proyek build, Anda dapat membuat peran CodeBuild layanan secara bersamaan. Secara default, peran hanya berfungsi dengan proyek build itu. Jika Anda menggunakan konsol untuk mengaitkan peran layanan ini dengan proyek build lain, peran tersebut diperbarui untuk bekerja dengan proyek build lainnya. Peran layanan dapat bekerja dengan hingga 10 proyek pembangunan.

**Konfigurasi tambahan **    
**Auto-retry batas **  
Tentukan jumlah percobaan ulang otomatis tambahan setelah pembuatan gagal. Misalnya, jika batas coba ulang otomatis disetel ke 2, CodeBuild akan memanggil `RetryBuild` API untuk mencoba ulang build Anda secara otomatis hingga 2 kali tambahan.  
**Waktu habis **  
Tentukan nilai, antara 5 menit dan 36 jam, setelah itu CodeBuild menghentikan build jika tidak selesai. Jika ** jam ** dan ** menit ** dibiarkan kosong, nilai default 60 menit digunakan.  
**Istimewa **  
(Opsional) Pilih ** Aktifkan tanda ini jika Anda ingin membangun image Docker atau ingin build Anda mendapatkan hak istimewa yang ditingkatkan ** hanya jika Anda berencana menggunakan proyek build ini untuk membangun image Docker. Jika tidak, semua build terkait yang mencoba berinteraksi dengan daemon Docker gagal. Anda juga harus memulai daemon Docker sehingga build Anda dapat berinteraksi dengannya. Salah satu cara untuk melakukan ini adalah dengan menginisialisasi daemon Docker dalam `install` fase buildspec Anda dengan menjalankan perintah build berikut. Jangan jalankan perintah ini jika Anda memilih image lingkungan build yang disediakan oleh CodeBuild dengan dukungan Docker.  
Secara default, daemon Docker diaktifkan untuk build non-VPC. Jika Anda ingin menggunakan wadah Docker untuk build VPC, lihat [ Runtime Privilege dan Kapabilitas Linux ](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) di situs Docker Docker dan aktifkan mode istimewa. Selain itu, Windows tidak mendukung mode istimewa.

```
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2 &
- timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
```  
**VPC**  
Jika Anda CodeBuild ingin bekerja dengan VPC Anda:  
+ Untuk ** VPC**, pilih ID VPC yang CodeBuild digunakan.
+ Untuk Subnets ** VPC**, pilih subnet yang menyertakan sumber daya yang menggunakan. CodeBuild 
+ Untuk ** grup Keamanan VPC**, pilih grup keamanan yang digunakan untuk mengi CodeBuild zinkan akses ke sumber daya di VPC.
Untuk informasi selengkapnya, lihat [Gunakan AWS CodeBuild dengan Amazon Virtual Private Cloud](vpc-support.md).  
**Komputasi **  
Pilih salah satu opsi yang tersedia.  
**Kredensibilitas registri **  
Tentukan kredensi registri saat proyek dikonfigurasi dengan gambar registri non-pribadi.  
Kredensi ini hanya akan digunakan jika gambar diganti dengan gambar dari registri pribadi.  
**Variabel lingkungan **  
Masukkan nama dan nilai, lalu pilih jenis setiap variabel lingkungan untuk build yang akan digunakan.   
CodeBuild menetapkan variabel lingkungan untuk Wil AWS ayah Anda secara otomatis. Anda harus mengatur variabel lingkungan berikut jika Anda belum menambahkannya ke buildspec.yml Anda:  
+ AWS\_ACCOUNT\_ID
+ IMAGE\_REPO\_NAMA\_
+ TAG\_GAMBAR
Konsol dan AWS CLI pengguna dapat melihat variabel lingkungan. Jika Anda tidak memiliki kekhawatiran tentang visibilitas variabel lingkungan Anda, tetapkan ** bidang ** Nama ** dan ** Nilai, lalu setel ** Type ** ke ** Plainteks. **  
Sebaiknya simpan variabel lingkungan dengan nilai sensitif, seperti ID kunci AWS akses, kunci akses AWS rahasia, atau kata sandi sebagai parameter di Amazon EC2 Systems Manager Parameter Store atau AWS Secrets Manager.   
Jika Anda menggunakan Amazon EC2 Systems Manager Parameter Store, maka untuk ** Type**, pilih ** Parameter**. Untuk ** Nama**, masukkan pengidentifikasi CodeBuild untuk referensi. Untuk ** Nilai**, masukkan nama parameter seperti yang disimpan di Amazon EC2 Systems Manager Parameter Store. Menggunakan parameter bernama `/CodeBuild/dockerLoginPassword` sebagai contoh, untuk ** Type**, pilih ** Parameter**. Untuk **Nama**, masukkan `LOGIN_PASSWORD`. Untuk **Nilai**, masukkan `/CodeBuild/dockerLoginPassword`.   
Jika Anda menggunakan Amazon EC2 Systems Manager Parameter Store, sebaiknya simpan parameter dengan nama parameter yang dimulai dengan `/CodeBuild/` (misalnya,`/CodeBuild/dockerLoginPassword`). Anda dapat menggunakan CodeBuild konsol untuk membuat parameter di Amazon EC2 Systems Manager. Pilih ** Buat parameter**, lalu ikuti petunjuk di kotak dialog. (Dalam kotak dialog itu, untuk kunci ** KMS**, Anda dapat menentukan ARN AWS KMS kunci di akun Anda. Amazon EC2 Systems Manager menggunakan kunci ini untuk mengenkripsi nilai parameter selama penyimpanan dan mendekripsi selama pengambilan.) Jika Anda menggunakan CodeBuild konsol untuk membuat parameter, konsol memulai nama parameter dengan `/CodeBuild/` saat disimpan. Untuk informasi selengkapnya, lihat [ Panduan Konsol Penyimpanan Parameter Manajer [ Sistem ](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-walk.html#sysman-paramstore-console) dan Panduan Konsol Penyimpanan Parameter Manajer Sistem ](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html) di Panduan Pengguna * Amazon EC2 Systems Manager. *  
Jika proyek build mengacu pada parameter yang disimpan di Amazon EC2 Systems Manager Parameter Store, peran layanan proyek build harus mengizinkan `ssm:GetParameters` tindakan tersebut. Jika Anda memilih ** Peran layanan baru ** sebelumnya, ser CodeBuild takan tindakan ini dalam peran layanan default untuk proyek build Anda. Namun, jika Anda memilih Per ** an layanan yang ada**, Anda harus menyertakan tindakan ini ke peran layanan Anda secara terpisah.  
Jika proyek build mengacu pada parameter yang disimpan di Amazon EC2 Systems Manager Parameter Store dengan nama parameter yang tidak dimulai dengan`/CodeBuild/`, dan Anda memilih Peran layanan ** baru**, Anda harus memperbarui peran layanan tersebut untuk mengizinkan akses ke nama parameter yang tidak dimulai dengan`/CodeBuild/`. Ini karena peran layanan memungkinkan akses hanya ke nama parameter yang dimulai dengan`/CodeBuild/`.  
Jika Anda memilih Per ** an layanan baru**, peran layanan menyertakan izin untuk mendekripsi semua parameter di bawah `/CodeBuild/` namespace di Amazon EC2 Systems Manager Parameter Store.  
Variabel lingkungan yang Anda tetapkan menggantikan variabel lingkungan yang ada. Misalnya, jika image Docker sudah berisi variabel lingkungan bernama `MY_VAR` dengan nilai`my_value`, dan Anda menetapkan variabel lingkungan bernama `MY_VAR` dengan nilai`other_value`, `my_value` maka diganti dengan`other_value`. Demikian pula, jika image Docker sudah berisi variabel lingkungan bernama `PATH` dengan nilai`/usr/local/sbin:/usr/local/bin`, dan Anda menetapkan variabel lingkungan bernama `PATH` dengan nilai`$PATH:/usr/share/ant/bin`, `/usr/local/sbin:/usr/local/bin` maka diganti dengan nilai `$PATH:/usr/share/ant/bin` literal.  
Jangan mengatur variabel lingkungan apa pun dengan nama yang dimulai dengan`CODEBUILD_`. Awalan ini dicadangkan untuk penggunaan internal .  
Jika variabel lingkungan dengan nama yang sama didefinisikan di beberapa tempat, nilainya ditentukan sebagai berikut:  
+ Nilai dalam panggilan operasi mulai build memiliki prioritas tertinggi.
+ Nilai dalam definisi proyek build akan diutamakan berikutnya.
+ Nilai dalam deklarasi buildspec memiliki prioritas terendah.
Jika Anda menggunakan Manajer Rahasia, untuk ** Jenis**, pilih Manajer ** Rahasia**. Untuk ** Nama**, masukkan pengidentifikasi CodeBuild untuk referensi. Untuk ** Nilai**, masukkan `reference-key` menggunakan pola`{{secret-id}}:{{json-key}}:{{version-stage}}:{{version-id}}`. Untuk informasi, lihat [Secrets Manager reference-key in the buildspec file](build-spec-ref.md#secrets-manager-build-spec).  
Jika Anda menggunakan Manajer Rahasia, kami sarankan Anda menyimpan rahasia dengan nama yang dimulai dengan `/CodeBuild/` (misalnya,`/CodeBuild/dockerLoginPassword`). Untuk informasi lebih lanjut, lihat [Apa itu AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) di *Panduan Pengguna AWS Secrets Manager *.   
Jika proyek build Anda mengacu pada rahasia yang disimpan di Secrets Manager, peran layanan proyek build harus mengizinkan `secretsmanager:GetSecretValue` tindakan tersebut. Jika Anda memilih ** Peran layanan baru ** sebelumnya, ser CodeBuild takan tindakan ini dalam peran layanan default untuk proyek build Anda. Namun, jika Anda memilih Per ** an layanan yang ada**, Anda harus menyertakan tindakan ini ke peran layanan Anda secara terpisah.   
Jika proyek build Anda mengacu pada rahasia yang disimpan di Manajer Rahasia dengan nama rahasia yang tidak dimulai dengan`/CodeBuild/`, dan Anda memilih Peran layanan ** baru**, Anda harus memperbarui peran layanan untuk mengizinkan akses ke nama rahasia yang tidak dimulai dengan`/CodeBuild/`. Ini karena peran layanan memungkinkan akses hanya ke nama rahasia yang dimulai dengan`/CodeBuild/`.  
Jika Anda memilih Per ** an layanan baru**, peran layanan mencakup izin untuk mendekripsi semua rahasia di bawah `/CodeBuild/` namespace di Manajer Rahasia.

### Spesifikasi Bangun
<a name="create-project-console-buildspec"></a>

**Membangun spesifikasi **  
Lakukan salah satu tindakan berikut:  
+ Jika kode sumber Anda menyertakan file buildspec, pilih ** Gunakan file buildspec. ** Secara default CodeBuild, mencari file bernama `buildspec.yml` di direktori root kode sumber. Jika file buildspec Anda menggunakan nama atau lokasi yang berbeda, masukkan jalurnya dari root sumber di nama ** ** Buildspec (misalnya, atau. `buildspec-two.yml` `configuration/buildspec.yml` Jika file buildspec ada di bucket S3, itu harus berada di Wil AWS ayah yang sama dengan proyek build Anda. Tentukan file buildspec menggunakan ARN-nya (misalnya,). `arn:aws:s3:::{{<my-codebuild-sample2>}}/buildspec.yml`
+ Jika kode sumber Anda tidak menyertakan file buildspec, atau jika Anda ingin menjalankan perintah build berbeda dari yang ditentukan untuk `build` fase dalam `buildspec.yml` file di direktori root kode sumber, pilih S ** isipkan perintah build. ** Untuk perintah ** Build**, masukkan perintah yang ingin Anda jalankan dalam `build` fase. Untuk beberapa perintah, pisahkan setiap perintah dengan `&&` (misalnya,`mvn test && mvn package`). Untuk menjalankan perintah dalam fase lain, atau jika Anda memiliki daftar panjang perintah untuk `build` fase tersebut, tambahkan `buildspec.yml` file ke direktori root kode sumber, tambahkan perintah ke file, lalu pilih ** Gunakan buildspec.yml di direktori root kode sumber. **
Untuk informasi selengkapnya, lihat [Referensi Buildspec](build-spec-ref.md).

### Konfigurasi batch
<a name="create-project-console-batch-config"></a>

Anda dapat menjalankan sekelompok build sebagai operasi tunggal. Untuk informasi selengkapnya, lihat [Jalankan build dalam batch](batch-build.md).

**Tentukan konfigurasi batch **  
Pilih untuk mengizinkan pembuatan batch dalam proyek ini.

**Peran layanan batch **  
Menyediakan peran layanan untuk build batch.   
Pilih salah satu cara berikut:  
+ Jika Anda tidak memiliki peran layanan batch, pilih Per ** an layanan baru**. Di ** Peran Layanan**, masukkan nama untuk peran baru.
+ Jika Anda memiliki peran layanan batch, pilih Peran layanan ** yang ada**. Di ** Peran layanan**, pilih peran layanan.
Build batch memperkenalkan peran keamanan baru dalam konfigurasi batch. Peran baru ini diperlukan karena CodeBuild harus dapat memanggil`StartBuild`,`StopBuild`, dan `RetryBuild` tindakan atas nama Anda untuk menjalankan build sebagai bagian dari batch. Pelanggan harus menggunakan peran baru, dan bukan peran yang sama yang mereka gunakan dalam build mereka, karena dua alasan:  
+ Memberikan izin `StartBuild`, `StopBuild`, dan `RetryBuild` kepada peran build akan memungkinkan satu build untuk memulai lebih banyak build melalui buildspec.
+ CodeBuild build batch memberikan batasan yang membatasi jumlah build dan tipe komputasi yang dapat digunakan untuk build dalam batch. Jika peran build memiliki izin ini, build dapat melewati batasan ini sendiri.

**Jenis komputasi yang diizinkan untuk batch **  
Pilih jenis komputasi yang diizinkan untuk batch. Pilih semua yang berlaku.

**Armada yang diizinkan untuk batch **  
Pilih armada yang diizinkan untuk batch tersebut. Pilih semua yang berlaku.

**Build maksimum yang diizinkan dalam batch **  
Masukkan jumlah maksimum build yang diizinkan dalam batch. Jika batch melebihi batas ini, batch akan gagal.

**Batas waktu batch **  
Masukkan jumlah waktu maksimum untuk menyelesaikan pembuatan batch.

**Gabungkan artefak **  
Pilih ** Gabungkan semua artefak dari batch ke dalam satu lokasi ** untuk menggabungkan semua artefak dari batch menjadi satu lokasi.

 **Mode laporan batch **   
Pilih mode laporan status build yang diinginkan untuk build batch.  
Bidang ini hanya tersedia jika sumber proyek adalah Bitbucket, GitHub, atau GitHub Enterprise, dan L ** aporkan status build ke penyedia sumber saat build mulai dan ** selesai dipilih di bawah ** Sumber. **   
 **Bangunan agregat **   
Pilih agar status untuk semua build dalam batch digabungkan menjadi satu laporan status.  
 **Bangunan individu **   
Pilih agar status build untuk semua build dalam batch dilaporkan secara terpisah.

### Artifacts
<a name="create-project-console-artifacts"></a>

**Jenis**  
Lakukan salah satu tindakan berikut:  
+ Jika Anda tidak ingin membuat artefak keluaran build apa pun, pilih ** Tidak ada artefak**. Anda mungkin ingin melakukan ini jika Anda hanya menjalankan pengujian build atau Anda ingin mendorong gambar Docker ke repositori Amazon ECR.
+ Untuk menyimpan output build dalam bucket S3, pilih ** Amazon S3**, lalu lakukan hal berikut:
  + Jika Anda ingin menggunakan nama proyek Anda untuk file atau folder ZIP keluaran build, biarkan ** Nama ** kosong. Jika tidak, masukkan nama. (Jika Anda ingin menampilkan file ZIP, dan Anda ingin file ZIP memiliki ekstensi file, pastikan untuk memasukkannya setelah nama file ZIP.)
  + Pilih ** Aktifkan versi semantik ** jika Anda ingin nama yang ditentukan dalam file buildspec untuk mengganti nama apa pun yang ditentukan di konsol. Nama dalam file buildspec dihitung pada waktu pembuatan dan menggunakan bahasa perintah Shell. Misalnya, Anda dapat menambahkan tanggal dan waktu untuk nama artefak Anda sehingga selalu unik. Nama artefak yang unik mencegah artefak dituliskan. Untuk informasi selengkapnya, lihat [Sintaks Buildspec](build-spec-ref.md#build-spec-ref-syntax).
  + Untuk nama ** Bucket**, pilih nama bucket keluaran.
  + Jika Anda memilih ** Sisip ** kan perintah build sebelumnya dalam prosedur ini**, maka untuk file ** Output, masukkan lokasi file dari build yang ingin Anda masukkan ke dalam file atau folder ZIP keluaran build. Untuk beberapa lokasi, pisahkan setiap lokasi dengan koma (misalnya,`appspec.yml, target/my-app.jar`). Untuk informasi lebih lanjut, lihat deskripsi `files` di[Sintaks Buildspec](build-spec-ref.md#build-spec-ref-syntax).
  + Jika Anda tidak ingin artefak build dienkripsi, pilih H ** apus enkripsi artefak**.
Untuk setiap set artefak sekunder yang Anda inginkan:  

1. Untuk ** pengenal artefak**, masukkan nilai yang kurang dari 128 karakter dan hanya berisi karakter alfanumerik dan garis bawah.

1. Pilih ** Tambahkan artefak**.

1. Ikuti langkah-langkah sebelumnya untuk mengonfigurasi artefak sekunder Anda.

1. Pilih S ** impan artefak**.

**Konfigurasi tambahan **    
**Kunci enkripsi **  
(Opsional) Lakukan salah satu langkah berikut:  
+ Untuk menggunakan Kunci yang dikelola AWS for Amazon S3 di akun Anda untuk mengenkripsi artefak keluaran build, biarkan kunci ** Enkripsi ** kosong. Ini adalah opsi default.
+ Untuk menggunakan kunci yang dikelola pelanggan untuk mengenkripsi artefak keluaran build, di Kunci ** enkripsi**, masukkan ARN kunci KMS. Gunakan format `arn:aws:kms:{{region-ID}}:{{account-ID}}:key/{{key-ID}}`.  
**Jenis cache **  
Untuk jenis ** Cache**, pilih salah satu dari berikut ini:  
+ Jika Anda tidak ingin menggunakan cache, pilih ** Tidak ada cache**.
+ Jika Anda ingin menggunakan cache Amazon S3, pilih ** Amazon S3**, lalu lakukan hal berikut:
  + Untuk ** Bucket**, pilih nama bucket S3 tempat cache disimpan.
  + (Opsional) Untuk awalan jalur ** Cache**, masukkan awalan jalur Amazon S3. Nilai aw ** alan ** Cache path mirip dengan nama direktori. Ini memungkinkan Anda untuk menyimpan cache di bawah direktori yang sama dalam ember. 
**penting**  
Jangan menambahkan garis miring (/) pada akhir awalan jalur.
+  Jika Anda ingin menggunakan cache lokal, pilih ** Lokal**, lalu pilih satu atau lebih mode cache lokal. 
**catatan**  
Mode cache lapisan Docker hanya tersedia untuk Linux. Jika Anda memilihnya, proyek Anda harus berjalan dalam mode istimewa. 
Menggunakan cache menghemat waktu pembuatan yang cukup besar karena bagian lingkungan build yang dapat digunakan kembali disimpan dalam cache dan digunakan di seluruh build. Untuk informasi tentang menentukan cache dalam file buildspec, lihat. [Sintaks Buildspec](build-spec-ref.md#build-spec-ref-syntax) Untuk informasi selengkapnya tentang caching, lihat[Cache dibangun untuk meningkatkan kinerja](build-caching.md). 

### Beberapa catatan
<a name="create-project-console-logs"></a>

Pilih log yang ingin Anda buat. Anda dapat membuat Amazon CloudWatch Log, Amazon S3 log, atau keduanya. 

**CloudWatch**  
Jika Anda ingin CloudWatch log Amazon Logs:    
**CloudWatch log **  
Pilih ** CloudWatch log**.  
**Nama grup**  
Masukkan nama grup log Amazon CloudWatch Logs Anda.  
**Nama Stream **  
Masukkan nama aliran CloudWatch log Amazon Logs Anda. 

**S3 **  
Jika Anda ingin log Amazon S3:    
**Log S3 **  
Pilih log ** S3**.  
**Bucket**  
Pilih nama bucket S3 untuk log Anda.   
**Awalan jalur **  
Masukkan awalan untuk log Anda.   
**Nonaktifkan enkripsi log S3 **  
Pilih jika Anda tidak ingin log S3 Anda dienkripsi. 

## Buat proyek build (AWS CLI)
<a name="create-project-cli"></a>

Untuk informasi lebih lanjut tentang menggunakan AWS CLI with CodeBuild, lihat[Referensi baris perintah](cmd-ref.md).

Untuk membuat proyek CodeBuild build menggunakan AWS CLI, Anda membuat [ struktur JSON-formatted ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Project.html) Proyek, mengisi struktur, dan memanggil [`create-project`](https://docs.aws.amazon.com/cli/latest/reference/codebuild/create-project.html) perintah untuk membuat proyek.

### Buat file JSON
<a name="cp-cli-create-file"></a>

Buat file JSON kerangka dengan [`create-project`](https://docs.aws.amazon.com/cli/latest/reference/codebuild/create-project.html) perintah, menggunakan `--generate-cli-skeleton` opsi:

```
aws codebuild create-project --generate-cli-skeleton > {{<json-file>}}
```

Ini membuat file JSON dengan jalur dan nama file yang ditentukan oleh{{<json-file>}}.

### Isi file JSON
<a name="cp-cli-fill-in-file"></a>

Ubah data JSON sebagai berikut dan simpan hasil Anda.

```
{
  "name": "{{<project-name>}}",
  "description": "{{<description>}}",
  "source": {
    "type": "CODECOMMIT" | "CODEPIPELINE" | "GITHUB" | "GITHUB_ENTERPRISE" | "GITLAB" | "GITLAB_SELF_MANAGED" | "BITBUCKET" | "S3" | "NO_SOURCE",
    "location": "{{<source-location>}}",
    "gitCloneDepth": "{{<git-clone-depth>}}",
    "buildspec": "{{<buildspec>}}",
    "InsecureSsl": "{{<insecure-ssl>}}",
    "reportBuildStatus": "{{<report-build-status>}}",
    "buildStatusConfig": {
      "context": "{{<context>}}",
      "targetUrl": "{{<target-url>}}"
    },
    "gitSubmodulesConfig": {
      "fetchSubmodules": "{{<fetch-submodules>}}"
    },
    "auth": {
      "type": "{{<auth-type>}}",
      "resource": "{{<auth-resource>}}"
    },
    "sourceIdentifier": "{{<source-identifier>}}"
  },
  "secondarySources": [
    {
        "type": "CODECOMMIT" | "CODEPIPELINE" | "GITHUB" | "GITHUB_ENTERPRISE" | "GITLAB" | "GITLAB_SELF_MANAGED" | "BITBUCKET" | "S3" | "NO_SOURCE",
        "location": "{{<source-location>}}",
        "gitCloneDepth": "{{<git-clone-depth>}}",
        "buildspec": "{{<buildspec>}}",
        "InsecureSsl": "{{<insecure-ssl>}}",
        "reportBuildStatus": "{{<report-build-status>}}",
        "auth": {
          "type": "{{<auth-type>}}",
          "resource": "{{<auth-resource>}}"
        },
        "sourceIdentifier": "{{<source-identifier>}}"
    }
  ],
  "secondarySourceVersions": [
    {
      "sourceIdentifier": "{{<secondary-source-identifier>}}",
      "sourceVersion": "{{<secondary-source-version>}}"
    }
  ],
  "sourceVersion": "{{<source-version>"}},
  "artifacts": {
    "type": "CODEPIPELINE" | "S3" | "NO_ARTIFACTS",
    "location": "{{<artifacts-location>}}",
    "path": "{{<artifacts-path>}}",
    "namespaceType": "{{<artifacts-namespacetype>}}",
    "name": "{{<artifacts-name>}}",
    "overrideArtifactName": "{{<override-artifact-name>}}",
    "packaging": "{{<artifacts-packaging>}}"
  },
  "secondaryArtifacts": [
    {
      "type": "CODEPIPELINE" | "S3" | "NO_ARTIFACTS",
      "location": "{{<secondary-artifact-location>}}",
      "path": "{{<secondary-artifact-path>}}",
      "namespaceType": "{{<secondary-artifact-namespaceType>}}",
      "name": "{{<secondary-artifact-name>}}",
      "packaging": "{{<secondary-artifact-packaging>}}",
      "artifactIdentifier": "{{<secondary-artifact-identifier>}}"
    }
  ],
  "cache": {
    "type": "{{<cache-type>}}",
    "location": "{{<cache-location>}}",
    "mode": [
      "{{<cache-mode>}}"
    ]
  },
  "environment": {
    "type": "LINUX_CONTAINER" | "LINUX_GPU_CONTAINER" | "ARM_CONTAINER" | "WINDOWS_SERVER_2019_CONTAINER" | "WINDOWS_SERVER_2022_CONTAINER",
    "image": "{{<image>}}",
    "computeType": "BUILD_GENERAL1_SMALL" | "BUILD_GENERAL1_MEDIUM" | "BUILD_GENERAL1_LARGE" | "BUILD_GENERAL1_2XLARGE",
    "certificate": "{{<certificate>}}",
    "environmentVariables": [
      {
        "name": "{{<environmentVariable-name>}}",
        "value": "{{<environmentVariable-value>}}",
        "type": "{{<environmentVariable-type>}}"
      }
    ],
    "registryCredential": [
      {
        "credential": "{{<credential-arn-or-name>}}",
        "credentialProvider": "{{<credential-provider>}}"
      }
    ],
    "imagePullCredentialsType": "CODEBUILD" | "SERVICE_ROLE",
    "privilegedMode": "{{<privileged-mode>}}"
  },
  "serviceRole": "{{<service-role>}}",
  "autoRetryLimit": {{<auto-retry-limit>}},
  "timeoutInMinutes": {{<timeout>}},
  "queuedTimeoutInMinutes": {{<queued-timeout>}},
  "encryptionKey": "{{<encryption-key>}}",
  "tags": [
    {
      "key": "{{<tag-key>}}",
      "value": "{{<tag-value>}}"
    }
  ],
  "vpcConfig": {
    "securityGroupIds": [
         "{{<security-group-id>}}"
    ],
    "subnets": [
         "{{<subnet-id>}}"
    ],
    "vpcId": "{{<vpc-id>}}"
  },
  "badgeEnabled": "{{<badge-enabled>}}",
  "logsConfig": {
    "cloudWatchLogs": {
      "status": "{{<cloudwatch-logs-status>}}",
      "groupName": "{{<group-name>}}",
      "streamName": "{{<stream-name>}}"
    },
    "s3Logs": {
      "status": "{{<s3-logs-status>}}",
      "location": "{{<s3-logs-location>}}",
      "encryptionDisabled": "{{<s3-logs-encryption-disabled>}}"
    }
  },
  "fileSystemLocations": [
    {
      "type": "EFS",
      "location": "{{<EFS-DNS-name-1>}}:/{{<directory-path>}}",
      "mountPoint": "{{<mount-point>}}",
      "identifier": "{{<efs-identifier>}}",
      "mountOptions": "{{<efs-mount-options>}}"
    }
  ],
  "buildBatchConfig": {
    "serviceRole": "{{<batch-service-role>}}",
    "combineArtifacts": {{<combine-artifacts>}},
    "restrictions": {
      "maximumBuildsAllowed": {{<max-builds>}},
      "computeTypesAllowed": [
        "{{<compute-type>}}"
      ],
      "fleetsAllowed": [
        "{{<fleet-name>}}"
      ]
    },
    "timeoutInMins": {{<batch-timeout>}},
    "batchReportMode": "REPORT_AGGREGATED_BATCH" | "REPORT_INDIVIDUAL_BUILDS"
  },
  "concurrentBuildLimit": {{<concurrent-build-limit>}}
}
```

Ganti yang berikut ini:

#### **name**
<a name="cli.project-name"></a>

Wajib. Nama untuk proyek pembangunan ini. Nama ini harus unik di semua proyek build di AWS akun Anda.

#### **deskripsi**
<a name="cli.description"></a>

Tidak wajib. Deskripsi untuk proyek pembangunan ini.

#### **sumber**
<a name="cli.source"></a>

Wajib. Ob [ ProjectSource ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html) jek yang berisi informasi tentang pengaturan kode sumber proyek build ini. Setelah Anda menambahkan `source` objek, Anda dapat menambahkan hingga 12 sumber lagi menggunakan[**Sumber Daya Sekunder**](#cli.secondarysources). Pengaturan ini termasuk yang berikut:

sumber/jenis ** **  <a name="cli.source.type"></a>
Wajib. Jenis repositori yang berisi kode sumber untuk membangun. Nilai yang valid meliputi:  
+ `CODECOMMIT`
+ `CODEPIPELINE`
+ `GITHUB`
+ `GITHUB_ENTERPRISE`
+ `GITLAB`
+ `GITLAB_SELF_MANAGED`
+ `BITBUCKET`
+ `S3`
+ `NO_SOURCE`
Jika Anda menggunakan`NO_SOURCE`, buildspec tidak dapat menjadi file karena proyek tidak memiliki sumber. Sebagai gantinya, Anda harus menggunakan `buildspec` atribut untuk menentukan YAML-formatted string untuk buildspec Anda. Untuk informasi selengkapnya, lihat [Membuat proyek build tanpa sumber](no-source.md).

sumber/lokasi ** **  <a name="cli.source.location"></a>
Diperlukan kecuali Anda {{<source-type>}} mengaturnya`CODEPIPELINE`. Lokasi kode sumber untuk jenis repositori yang ditentukan.  
+ Untuk CodeCommit, URL klon HTTPS ke repositori yang berisi kode sumber dan file buildspec (misalnya,). `https://git-codecommit.{{<region-id>}}.amazonaws.com/v1/repos/{{<repo-name>}}`
+ Untuk Amazon S3, nama bucket input build, diikuti dengan path dan nama file ZIP yang berisi kode sumber dan buildspec. Contoh:
  + Untuk file ZIP yang terletak di root bucket input:`{{<bucket-name>}}/{{<object-name>}}.zip`.
  + Untuk file ZIP yang terletak di subfolder di bucket input:`{{<bucket-name>}}/{{<subfoler-path>}}/{{<object-name>}}.zip`.
+ Untuk GitHub, URL klon HTTPS ke repositori yang berisi kode sumber dan file buildspec. URL harus berisi github.com. Anda harus menghubungkan AWS akun Anda ke GitHub akun Anda. Untuk melakukan ini, gunakan CodeBuild konsol untuk membuat proyek build.
  + Pilih O ** torisasi aplikasi**. (Setelah Anda terhubung ke GitHub akun Anda, Anda tidak perlu menyelesaikan pembuatan proyek build. Anda dapat menutup CodeBuild konsol.) 
+ Untuk GitHub Enterprise Server, URL klon HTTP atau HTTPS ke repositori yang berisi kode sumber dan file buildspec. Anda juga harus menghubungkan AWS akun Anda ke akun Server GitHub Perusahaan Anda. Untuk melakukan ini, gunakan CodeBuild konsol untuk membuat proyek build.

  1. Buat token akses pribadi di Server GitHub Perusahaan.

  1. Salin token ini ke clipboard Anda sehingga Anda dapat menggunakannya saat membuat CodeBuild proyek Anda. Untuk informasi selengkapnya, lihat [ Membuat token akses pribadi untuk baris perintah ](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) di situs web GitHub Bantuan. 

  1. Saat Anda menggunakan konsol untuk membuat CodeBuild proyek Anda, di ** Sumber**, untuk Penye ** dia Sumber**, pilih ** GitHub Perusahaan**.

  1. Untuk ** Token Akses ** Pribadi, tempel token yang disalin ke clipboard Anda. Pilih ** Simpan Token**. CodeBuild Akun Anda sekarang terhubung ke akun Server GitHub Perusahaan Anda.
+ Untuk GitLab dan GitLab dikelola sendiri, URL klon HTTPS ke repositori yang berisi kode sumber dan file buildspec. Perhatikan bahwa jika Anda menggunakan GitLab, URL harus berisi gitlab.com. Jika Anda menggunakan GitLab self-managed, URL tidak perlu berisi gitlab.com. Anda harus menghubungkan AWS akun Anda ke akun Anda GitLab atau akun yang GitLab dikelola sendiri. Untuk melakukan ini, gunakan CodeBuild konsol untuk membuat proyek build.
  + Di panel navigasi Alat Pengembang, pilih Peng ** aturan**, ** ** Koneksi, lalu ** Buat koneksi**. Pada halaman ini, buat koneksi GitLab atau koneksi yang GitLab dikelola sendiri, lalu pilih Hubun ** gkan ke GitLab**.
+ Untuk Bitbucket, URL klon HTTPS ke repositori yang berisi kode sumber dan file buildspec. URL harus berisi bitbucket.org. Anda juga harus menghubungkan AWS akun Anda ke akun Bitbucket Anda. Untuk melakukan ini, gunakan CodeBuild konsol untuk membuat proyek build. 

  1. Ketika Anda menggunakan konsol untuk menghubungkan (atau menghubungkan kembali) dengan Bitbucket, pada halaman **Mengonfirmasi akses ke akun Anda** di Bitbucket, pilih **Berikan akses**. (Setelah Anda terhubung ke akun Bitbucket Anda, Anda tidak perlu menyelesaikan pembuatan proyek build. Anda dapat menutup CodeBuild konsol.) 
+ Untuk AWS CodePipeline, jangan tentukan `location` nilai untuk`source`. CodePipeline mengabaikan nilai ini karena ketika Anda membuat pipeline di CodePipeline, Anda menentukan lokasi kode sumber di tahap Sumber pipa.

sumber/git ** CloneDepth **  <a name="cli.source.gitclonedepth"></a>
Tidak wajib. Kedalaman riwayat yang akan diunduh. Nilai minimum adalah 0. Jika nilai ini adalah 0, lebih besar dari 25, atau tidak disediakan, maka riwayat penuh diunduh dengan setiap proyek build. Jika jenis sumber Anda adalah Amazon S3, nilai ini tidak didukung.

sumber/buildspec ** **  <a name="cli.source.buildspec"></a>
Tidak wajib. Definisi spesifikasi build atau file yang akan digunakan. Jika nilai ini tidak disediakan atau diatur ke string kosong, kode sumber harus berisi `buildspec.yml` file di direktori root. Jika nilai ini disetel, itu bisa berupa definisi buildspec sebaris, jalur ke file buildspec alternatif relatif terhadap direktori root sumber utama Anda, atau jalur ke bucket S3. Bucket harus berada di Wil AWS ayah yang sama dengan proyek pembangunan. Tentukan file buildspec menggunakan ARN-nya (misalnya,). `arn:aws:s3:::{{<my-codebuild-sample2>}}/buildspec.yml` Untuk informasi selengkapnya, lihat [Nama file buildspec dan lokasi penyimpanan](build-spec-ref.md#build-spec-ref-name-storage).

sumber/otentikasi ** **  <a name="cli.source.auth"></a>
Berisi informasi tentang pengaturan otorisasi CodeBuild untuk mengakses kode sumber yang akan dibangun.

source/auth/ke ** tik **  <a name="cli.source.auth.type"></a>
Wajib. Tipe otorisasi yang digunakan. Nilai yang valid adalah:  
+ `OAUTH`
+ `CODECONNECTIONS`
+ `SECRETS_MANAGER`

source/auth/**sumber daya **  <a name="cli.source.auth.resource"></a>
Tidak wajib. Nilai sumber daya yang berlaku untuk jenis otorisasi yang ditentukan. Ini bisa menjadi Manajer Rahasia ARN atau AR CodeConnections N.

sumber/laporan ** BuildStatus **  <a name="cli.source.reportbuildstatus"></a>
Menentukan apakah akan mengirimkan status awal dan penyelesaian build kepada penyedia sumber Anda. Jika Anda menyetel ini dengan penyedia sumber selain GitHub, GitHub Enterprise Server, atau Bitbucket, sebuah akan dilempar `invalidInputException` kan.   
Untuk dapat melaporkan status build ke penyedia sumber, pengguna yang terkait dengan penyedia sumber harus memiliki akses tulis ke repo. Jika pengguna tidak memiliki akses tulis, status build tidak dapat diperbarui. Untuk informasi selengkapnya, lihat [Akses penyedia sumber](access-tokens.md).

sumber/membangun ** StatusConfig **  <a name="cli.source.buildstatusconfig"></a>
Berisi informasi yang menentukan bagaimana proyek CodeBuild build melaporkan status build ke penyedia sumber. Opsi ini hanya digunakan jika jenis sumbernya adalah`GITHUB`,`GITHUB_ENTERPRISE`, atau`BITBUCKET`.    
source/buildStatusConfig/**konteks **  
Untuk sumber Bitbucket, parameter ini digunakan untuk `name` parameter dalam status komit Bitbucket. Untuk GitHub sumber, parameter ini digunakan untuk `context` parameter dalam status GitHub commit.   
Misalnya, Anda dapat memiliki `context` nomor build dan pemicu webhook menggunakan variabel CodeBuild lingkungan:  

```
AWS CodeBuild sample-project Build #$CODEBUILD_BUILD_NUMBER - $CODEBUILD_WEBHOOK_TRIGGER
```
Ini menghasilkan konteks yang muncul seperti ini untuk build \#24 yang dipicu oleh acara permintaan tarik webhook:  

```
AWS CodeBuild sample-project Build #24 - pr/8
```  
source/buildStatusConfig/**TargetURL **  
Untuk sumber Bitbucket, parameter ini digunakan untuk `url` parameter dalam status komit Bitbucket. Untuk GitHub sumber, parameter ini digunakan untuk `target_url` parameter dalam status GitHub commit.  
Misalnya, Anda dapat mengatur `targetUrl` ke `https://aws.amazon.com/codebuild/{{<path to build>}}` dan status komit akan ditautkan ke URL ini.  
Anda juga dapat CodeBuild menyertakan variabel lingkungan `targetUrl` untuk menambahkan informasi tambahan ke URL. Misalnya, untuk menambahkan wilayah build ke URL, atur `targetUrl` ke:  

```
"targetUrl": "https://aws.amazon.com/codebuild/{{<path to build>}}?region=$AWS_REGION"
```
Jika wilayah pembangunannya`us-east-2`, ini akan diperluas ke:   

```
https://aws.amazon.com/codebuild/{{<path to build>}}?region=us-east-2
```

sumber/git ** SubmodulesConfig **  <a name="cli.source.gitsubmodulesconfig"></a>
Tidak wajib. Informasi tentang konfigurasi submodul Git. Digunakan dengan CodeCommit, GitHub, GitHub Enterprise Server, dan Bitbucket saja.     
source/gitSubmodulesConfig/Ambil Sub ** modul **  
Set `fetchSubmodules` el ke `true` jika Anda ingin menyertakan submodul Git dalam repositori Anda. Submodul Git yang disertakan harus dikonfigurasi sebagai HTTPS.

sumber/ ** InsecureSsl **  <a name="cli.source.insecuressl"></a>
Tidak wajib. Hanya digunakan dengan GitHub Enterprise Server. Tetapkan nilai ini `true` untuk mengabaikan peringatan TLS saat menghubungkan ke repositori proyek Server GitHub Enterprise Anda. Nilai default adalah `false`. `InsecureSsl` harus digunakan hanya untuk tujuan pengujian. Ini tidak boleh digunakan di lingkungan produksi.

sumber/sourceIdentifier ** **  <a name="cli.source.sourceidentifier"></a>
Pengidentifikasi yang ditentukan pengguna untuk sumber proyek. Opsional untuk sumber utama. Diperlukan untuk sumber sekunder.

#### **Sumber Daya Sekunder**
<a name="cli.secondarysources"></a>

Tidak wajib. Array [ ProjectSource ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html) objek yang berisi informasi tentang sumber sekunder untuk proyek build. Anda dapat menambahkan hingga 12 sumber sekunder. Ob `secondarySources` jek menggunakan properti yang sama yang digunakan oleh [**sumber**](#cli.source) objek. Dalam objek sumber sekunder, `sourceIdentifier` diperlukan.

#### **sekunder SourceVersions**
<a name="cli.secondarysourceversions"></a>

Tidak wajib. Susunan objek [ProjectSourceVersion](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSourceVersion.html). Jika `secondarySourceVersions` ditentukan pada tingkat build, maka mereka diutamakan daripada ini. 

#### **Sumber Versi**
<a name="cli.sourceversion"></a>

Tidak wajib. Versi input build yang akan dibangun untuk proyek ini. Jika tidak ditentukan, versi terbaru digunakan. Jika ditentukan, itu harus berupa salah satu dari: 
+ Untuk CodeCommit, ID komit, cabang, atau tag Git yang akan digunakan.
+ Untuk GitHub, ID komit, ID permintaan tarik, nama cabang, atau nama tag yang sesuai dengan versi kode sumber yang ingin Anda buat. Jika ID permintaan tarik ditentukan, itu harus menggunakan format `pr/pull-request-ID` (misalnya `pr/25`). Jika nama cabang ditentukan, ID melakukan HEAD cabang digunakan. Jika tidak ditentukan, ID melakukan HEAD cabang default digunakan. 
+ Untuk GitLab, ID komit, ID permintaan tarik, nama cabang, nama tag, atau referensi dan ID komit. Untuk informasi selengkapnya, lihat [Contoh versi sumber dengan AWS CodeBuild](sample-source-version.md).
+ Untuk Bitbucket, ID commit, nama cabang, atau nama tag yang sesuai dengan versi kode sumber yang ingin Anda buat. Jika nama cabang ditentukan, ID melakukan HEAD cabang digunakan. Jika tidak ditentukan, ID melakukan HEAD cabang default digunakan. 
+ Untuk Amazon S3, ID versi objek yang mewakili file ZIP input build yang akan digunakan. 

Jika `sourceVersion` ditentukan pada tingkat pembuatan, maka versi tersebut akan mengambil alih `sourceVersion` ini (di tingkat proyek). Untuk informasi selengkapnya, lihat [Contoh versi sumber dengan AWS CodeBuild](sample-source-version.md). 

#### **artefak**
<a name="cli.artifacts"></a>

Wajib. Ob [ ProjectArtifacts ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectArtifacts.html) jek yang berisi informasi tentang pengaturan artefak keluaran proyek build ini. Setelah Anda menambahkan `artifacts` objek, Anda dapat menambahkan hingga 12 artefak lagi menggunakan[Artefak sekunder](#cli.secondaryartifacts). Pengaturan ini termasuk yang berikut: 

artefak/jenis ** **  <a name="cli.artifacts.type"></a>
Wajib. Jenis artefak output build. Nilai yang valid adalah:   
+ `CODEPIPELINE`
+ `NO_ARTIFACTS`
+ `S3`

artefak/lokasi ** **  <a name="cli.artifacts.location"></a>
Hanya digunakan dengan jenis `S3` artefak. Tidak digunakan untuk jenis artefak lainnya.  
Nama bucket keluaran yang Anda buat atau identifikasi dalam prasyarat. 

artefak/jalur ** **  <a name="cli.artifacts.path"></a>
Hanya digunakan dengan jenis `S3` artefak. Tidak digunakan untuk jenis artefak lainnya.  
Jalur bucket keluaran tempat menempatkan file ZIP atau folder. Jika Anda tidak menentukan nilai untuk`path`, gunakan CodeBuild `namespaceType` (jika ditentukan) dan `name` untuk menentukan jalur dan nama file ZIP keluaran build atau folder. Misalnya, jika Anda menentukan `MyPath` untuk `path` dan `MyArtifact.zip` untuk`name`, jalur dan nama akan menjadi`MyPath/MyArtifact.zip`. 

artefak/NamespaceType ** **  <a name="cli.artifacts.namespacetype"></a>
Hanya digunakan dengan jenis `S3` artefak. Tidak digunakan untuk jenis artefak lainnya.  
Namespace dari file atau folder ZIP keluaran build. Nilai yang valid mencakup `BUILD_ID` dan `NONE`. Gunakan `BUILD_ID` untuk memasukkan ID build ke jalur file atau folder ZIP keluaran build. Jika tidak sesuai, gunakan `NONE`. Jika Anda tidak menentukan nilai untuk`namespaceType`, gunakan CodeBuild `path` (jika ditentukan) dan `name` untuk menentukan jalur dan nama file ZIP keluaran build atau folder. Misalnya, jika Anda menentukan `MyPath` for`path`, `BUILD_ID` for`namespaceType`, dan `MyArtifact.zip` for`name`, jalur dan nama akan menjadi`MyPath/{{build-ID}}/MyArtifact.zip`. 

artefak/nama ** **  <a name="cli.artifacts.name"></a>
Hanya digunakan dengan jenis `S3` artefak. Tidak digunakan untuk jenis artefak lainnya.  
Nama file ZIP keluaran build atau folder di dalamnya`location`. Misalnya, jika Anda menentukan `MyPath` untuk `path` dan `MyArtifact.zip` untuk`name`, jalur dan nama akan menjadi`MyPath/MyArtifact.zip`. 

artefak/penggantian ** ArtifactName **  <a name="cli.artifacts.overrideartifactname"></a>
Hanya digunakan dengan tipe artefak S3. Tidak digunakan untuk jenis artefak lainnya.  
Tidak wajib. Jika diset `true` el ke, nama yang ditentukan dalam `artifacts` blok file buildspec diganti. `name` Untuk informasi selengkapnya, lihat [Buat referensi spesifikasi untuk CodeBuild](build-spec-ref.md). 

artefak/kemasan ** **  <a name="cli.artifacts.packaging"></a>
Hanya digunakan dengan jenis `S3` artefak. Tidak digunakan untuk jenis artefak lainnya.   
Tidak wajib. Menentukan cara mengemas artefak. Nilai yang diizinkan adalah:    
NONE  
Buat folder yang berisi artefak build. Ini adalah nilai default.   
ZIP  
Buat file ZIP yang berisi artefak build.

#### Artefak sekunder
<a name="cli.secondaryartifacts"></a>

Tidak wajib. Array [ ProjectArtifacts ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectArtifacts.html) objek yang berisi informasi tentang pengaturan artefak sekunder untuk proyek build. Anda dapat menambahkan hingga 12 artefak sekunder. `secondaryArtifacts`Menggunakan banyak pengaturan yang sama yang digunakan oleh [**artefak**](#cli.artifacts) objek. 

#### cache
<a name="cli.cache"></a>

Wajib. Ob [ ProjectCache ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectCache.html) jek yang berisi informasi tentang pengaturan cache proyek build ini. Untuk informasi selengkapnya, lihat [Membangun cache](build-caching.md). 

#### lingkungan
<a name="cli.environment"></a>

Wajib. Ob [ ProjectEnvironment ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectEnvironment.html) jek yang berisi informasi tentang pengaturan lingkungan build proyek ini. Pengaturan ini meliputi:

lingkungan/jenis ** **  <a name="cli.environment.type"></a>
Wajib. Jenis lingkungan bangunan. Untuk informasi selengkapnya, lihat [ ketik ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectEnvironment.html#CodeBuild-Type-ProjectEnvironment-type) di Refer * CodeBuild ensi API*.

lingkungan/gambar ** **  <a name="cli.environment.image"></a>
Wajib. Pengidentifikasi gambar Docker yang digunakan oleh lingkungan build ini. Biasanya, pengidentifikasi ini dinyatakan sebagai{{image-name}}:{{tag}}. Misalnya, di repositori Docker yang digunakan untuk CodeBuild mengelola gambar Docker-nya, ini bisa jadi. `aws/codebuild/standard:5.0` Di Docker Hub,`maven:3.3.9-jdk-8`. Di Amazon ECR,`{{account-id}}.dkr.ecr.{{region-id}}.amazonaws.com/{{your-Amazon-ECR-repo-name}}:{{tag}}`. Untuk informasi selengkapnya, lihat [Gambar Docker disediakan oleh CodeBuild](build-env-ref-available.md). 

lingkungan/Jenis Komputasi ** **  <a name="cli.environment.computetype"></a>
Wajib. Menentukan sumber daya komputasi yang digunakan oleh lingkungan build ini. Untuk informasi selengkapnya, lihat [ ComputeType ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectEnvironment.html#CodeBuild-Type-ProjectEnvironment-computeType) di Referensi * CodeBuild API. *

lingkungan/sertifikat ** **  <a name="cli.environment.certificate"></a>
Tidak wajib. ARN bucket Amazon S3, awalan jalur, dan kunci objek yang berisi PEM-encoded sertifikat. Kunci objek dapat berupa file.pem atau file.zip yang berisi sertifikat. PEM-encoded Misalnya, jika nama bucket Amazon S3 Anda adalah`{{<my-bucket>}}`, awalan jalur Anda adalah`{{<cert>}}`, dan nama kunci objek Anda adalah`{{<certificate.pem>}}`, maka format yang dapat diterima untuk `certificate` are `{{<my-bucket/cert/certificate.pem>}}` atau`arn:aws:s3:::{{<my-bucket/cert/certificate.pem>}}`.

lingkungan/lingkunganVariabel ** **  <a name="cli.environment.environmentvariables"></a>
Tidak wajib. Array [ EnvironmentVariable ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html) objek yang berisi variabel lingkungan yang ingin Anda tentukan untuk lingkungan build ini. Setiap variabel lingkungan dinyatakan sebagai objek yang berisi a`name`,`value`, dan `type` of`name`,`value`, dan`type`.   
Konsol dan AWS CLI pengguna dapat melihat semua variabel lingkungan. Jika Anda tidak memiliki kekhawatiran tentang visibilitas variabel lingkungan Anda, setel `name` dan`value`, dan setel `type` ke`PLAINTEXT`.  
Sebaiknya simpan variabel lingkungan dengan nilai sensitif, seperti ID kunci AWS akses, kunci akses AWS rahasia, atau kata sandi, sebagai parameter di Amazon EC2 Systems Manager Parameter Store atau AWS Secrets Manager. Untuk`name`, untuk parameter yang disimpan itu, atur pengidentifikasi CodeBuild untuk referensi.   
Jika Anda menggunakan Amazon EC2 Systems Manager Parameter Store, for`value`, tetapkan nama parameter seperti yang disimpan di Penyimpanan Parameter. Atur `type` ke `PARAMETER_STORE`. Menggunakan parameter bernama `/CodeBuild/dockerLoginPassword` sebagai contoh, setel `name` ke`LOGIN_PASSWORD`. Atur `value` ke `/CodeBuild/dockerLoginPassword`. Atur `type` ke `PARAMETER_STORE`.   
Jika Anda menggunakan Amazon EC2 Systems Manager Parameter Store, sebaiknya simpan parameter dengan nama parameter yang dimulai dengan `/CodeBuild/` (misalnya,`/CodeBuild/dockerLoginPassword`). Anda dapat menggunakan CodeBuild konsol untuk membuat parameter di Amazon EC2 Systems Manager. Pilih ** Buat parameter**, lalu ikuti petunjuk di kotak dialog. (Dalam kotak dialog itu, untuk kunci ** KMS**, Anda dapat menentukan ARN AWS KMS kunci di akun Anda. Amazon EC2 Systems Manager menggunakan kunci ini untuk mengenkripsi nilai parameter selama penyimpanan dan mendekripsi selama pengambilan.) Jika Anda menggunakan CodeBuild konsol untuk membuat parameter, konsol memulai nama parameter dengan `/CodeBuild/` saat disimpan. Untuk informasi selengkapnya, lihat [ Panduan Konsol Penyimpanan Parameter Manajer [ Sistem ](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-walk.html#sysman-paramstore-console) dan Panduan Konsol Penyimpanan Parameter Manajer Sistem ](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html) di Panduan Pengguna * Amazon EC2 Systems Manager. *  
Jika proyek build mengacu pada parameter yang disimpan di Amazon EC2 Systems Manager Parameter Store, peran layanan proyek build harus mengizinkan `ssm:GetParameters` tindakan tersebut. Jika Anda memilih ** Peran layanan baru ** sebelumnya, ser CodeBuild takan tindakan ini dalam peran layanan default untuk proyek build Anda. Namun, jika Anda memilih Per ** an layanan yang ada**, Anda harus menyertakan tindakan ini ke peran layanan Anda secara terpisah.  
Jika proyek build mengacu pada parameter yang disimpan di Amazon EC2 Systems Manager Parameter Store dengan nama parameter yang tidak dimulai dengan`/CodeBuild/`, dan Anda memilih Peran layanan ** baru**, Anda harus memperbarui peran layanan tersebut untuk mengizinkan akses ke nama parameter yang tidak dimulai dengan`/CodeBuild/`. Ini karena peran layanan memungkinkan akses hanya ke nama parameter yang dimulai dengan`/CodeBuild/`.  
Jika Anda memilih Per ** an layanan baru**, peran layanan menyertakan izin untuk mendekripsi semua parameter di bawah `/CodeBuild/` namespace di Amazon EC2 Systems Manager Parameter Store.  
Variabel lingkungan yang Anda tetapkan menggantikan variabel lingkungan yang ada. Misalnya, jika image Docker sudah berisi variabel lingkungan bernama `MY_VAR` dengan nilai`my_value`, dan Anda menetapkan variabel lingkungan bernama `MY_VAR` dengan nilai`other_value`, `my_value` maka diganti dengan`other_value`. Demikian pula, jika image Docker sudah berisi variabel lingkungan bernama `PATH` dengan nilai`/usr/local/sbin:/usr/local/bin`, dan Anda menetapkan variabel lingkungan bernama `PATH` dengan nilai`$PATH:/usr/share/ant/bin`, `/usr/local/sbin:/usr/local/bin` maka diganti dengan nilai `$PATH:/usr/share/ant/bin` literal.  
Jangan mengatur variabel lingkungan apa pun dengan nama yang dimulai dengan`CODEBUILD_`. Awalan ini dicadangkan untuk penggunaan internal .  
Jika variabel lingkungan dengan nama yang sama didefinisikan di beberapa tempat, nilainya ditentukan sebagai berikut:  
+ Nilai dalam panggilan operasi mulai build memiliki prioritas tertinggi.
+ Nilai dalam definisi proyek build akan diutamakan berikutnya.
+ Nilai dalam deklarasi buildspec memiliki prioritas terendah.
Jika Anda menggunakan Secrets Manager, for`value`, atur nama parameter seperti yang disimpan di Secrets Manager. Atur `type` ke `SECRETS_MANAGER`. Menggunakan rahasia bernama `/CodeBuild/dockerLoginPassword` sebagai contoh, atur `name` ke`LOGIN_PASSWORD`. Atur `value` ke `/CodeBuild/dockerLoginPassword`. Atur `type` ke `SECRETS_MANAGER`.  
Jika Anda menggunakan Manajer Rahasia, kami sarankan Anda menyimpan rahasia dengan nama yang dimulai dengan `/CodeBuild/` (misalnya,`/CodeBuild/dockerLoginPassword`). Untuk informasi lebih lanjut, lihat [Apa itu AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) di *Panduan Pengguna AWS Secrets Manager *.   
Jika proyek build Anda mengacu pada rahasia yang disimpan di Secrets Manager, peran layanan proyek build harus mengizinkan `secretsmanager:GetSecretValue` tindakan tersebut. Jika Anda memilih ** Peran layanan baru ** sebelumnya, ser CodeBuild takan tindakan ini dalam peran layanan default untuk proyek build Anda. Namun, jika Anda memilih Per ** an layanan yang ada**, Anda harus menyertakan tindakan ini ke peran layanan Anda secara terpisah.   
Jika proyek build Anda mengacu pada rahasia yang disimpan di Manajer Rahasia dengan nama rahasia yang tidak dimulai dengan`/CodeBuild/`, dan Anda memilih Peran layanan ** baru**, Anda harus memperbarui peran layanan untuk mengizinkan akses ke nama rahasia yang tidak dimulai dengan`/CodeBuild/`. Ini karena peran layanan memungkinkan akses hanya ke nama rahasia yang dimulai dengan`/CodeBuild/`.  
Jika Anda memilih Per ** an layanan baru**, peran layanan mencakup izin untuk mendekripsi semua rahasia di bawah `/CodeBuild/` namespace di Manajer Rahasia.

lingkungan/PendaftaranKredensi ** **  <a name="cli.environment.registrycredential"></a>
Tidak wajib. Ob [ RegistryCredential ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_RegistryCredential.html) jek yang menentukan kredenSIAL yang menyediakan akses ke registri Docker pribadi.     
environment/registryCredential/**kredensi **  
Menentukan ARN atau nama kredensional yang dibuat menggunakan AWS Managed Services. Anda dapat menggunakan nama kredenSIAL hanya jika ada di Wilayah Anda saat ini.  
environment/registryCredential/Penyedia Kre ** densi **  
Satu-satunya nilai yang valid adalah `SECRETS_MANAGER`.
Ketika ini diatur:   
+ `imagePullCredentials` harus diatur ke `SERVICE_ROLE`.
+ Gambar tidak boleh berupa gambar yang dikuratori atau gambar Amazon ECR.

lingkungan/gambar ** PullCredentialsType **  <a name="cli.environment.imagepullcredentialstype"></a>
Tidak wajib. Jenis kredenSIAL CodeBuild yang digunakan untuk menarik gambar di build Anda. Ada dua nilai yang valid:    
MEMBANGUN KODE  
`CODEBUILD`menentukan yang CodeBuild menggunakan kredensialnya sendiri. Anda harus mengedit kebijakan repositori Amazon ECR Anda untuk mempercayai CodeBuild prinsipal layanan.   
LAYAN\_PERAN  
Menentukan yang CodeBuild menggunakan peran layanan proyek build Anda. 
Saat Anda menggunakan citra registri lintas akun atau pribadi, Anda harus menggunakan `SERVICE_ROLE` kredenSIAL. Saat Anda menggunakan gambar yang CodeBuild dikuratori, Anda harus menggunakan `CODEBUILD` kredenSIAL. 

lingkungan/PrivilegedMode ** **  <a name="cli.environment.privilegedmode"></a>
Setel ke `true` hanya jika Anda berencana untuk menggunakan proyek build ini untuk membangun image Docker. Jika tidak, semua build terkait yang mencoba berinteraksi dengan daemon Docker gagal. Anda juga harus memulai daemon Docker sehingga build Anda dapat berinteraksi dengannya. Salah satu cara untuk melakukan ini adalah dengan menginisialisasi daemon Docker dalam `install` fase file buildspec Anda dengan menjalankan perintah build berikut. Jangan jalankan perintah ini jika Anda menentukan image lingkungan build yang disediakan oleh CodeBuild dengan dukungan Docker.  
Secara default, daemon Docker diaktifkan untuk build non-VPC. Jika Anda ingin menggunakan wadah Docker untuk build VPC, lihat [ Runtime Privilege dan Kapabilitas Linux ](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) di situs Docker Docker dan aktifkan mode istimewa. Selain itu, Windows tidak mendukung mode istimewa.

```
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2 &
- timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
```

#### ServiceRole
<a name="cli.servicerole"></a>

Wajib. ARN dari peran layanan CodeBuild digunakan untuk berinteraksi dengan layanan atas nama pengguna (misalnya,`arn:aws:iam::{{account-id}}:role/{{role-name}}`).

#### mobil RetryLimit
<a name="cli.autoretrylimit"></a>

Tidak wajib. Jumlah percobaan ulang otomatis tambahan setelah build gagal. Misalnya, jika batas coba ulang otomatis disetel ke 2, CodeBuild akan memanggil `RetryBuild` API untuk mencoba ulang build Anda secara otomatis hingga 2 kali tambahan.

#### batas waktu InMinutes
<a name="cli.timeoutinminutes"></a>

Tidak wajib. Jumlah menit, antara 5 hingga 2160 (36 jam), setelah itu CodeBuild menghentikan pembangunan jika tidak selesai. Jika tidak ditentukan, default 60 digunakan. Untuk menentukan apakah dan kapan build CodeBuild dihentikan karena batas waktu, jalankan `batch-get-builds` perintah. Untuk menentukan apakah build telah berhenti, cari di output untuk `buildStatus` nilai`FAILED`. Untuk menentukan kapan waktu build habis, lihat output untuk `endTime` nilai yang terkait dengan `phaseStatus` nilai`TIMED_OUT`. 

#### mengantri TimeoutInMinutes
<a name="cli.queuedtimeoutinminutes"></a>

Tidak wajib. Jumlah menit, antara 5 hingga 480 (8 jam), setelah itu CodeBuild menghentikan build jika masih mengantri. Jika tidak ditentukan, default 60 digunakan. 

#### Kunci Enkripsi
<a name="cli.encryptionkey"></a>

Tidak wajib. Alias atau ARN yang AWS KMS key digunakan oleh CodeBuild untuk mengenkripsi output build. Jika Anda menentukan alias, gunakan format `arn:aws:kms:{{region-ID}}:{{account-ID}}:key/{{key-ID}}` atau, jika ada alias, gunakan formatnya`alias/{{key-alias}}`. Jika tidak ditentukan, kunci KMS AWS-managed untuk Amazon S3 digunakan.

#### tag
<a name="cli.tags"></a>

Tidak wajib. Array [ objek ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Tag.html) Tag yang menyediakan tag yang ingin Anda kaitkan dengan proyek build ini. Anda dapat menentukan hingga 50 tag. Tag ini dapat digunakan oleh AWS layanan apa pun yang mendukung tag proyek CodeBuild build. Setiap tag dinyatakan sebagai objek dengan a `key` dan a`value`.

#### VPCConfig
<a name="cli.vpcconfig"></a>

Tidak wajib. Ob [ VpcConfig ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_VpcConfig.html) jek yang berisi informasi tentang konfigurasi VPC untuk proyek Anda. Untuk informasi selengkapnya, lihat [Gunakan AWS CodeBuild dengan Amazon Virtual Private Cloud](vpc-support.md).

Properti ini meliputi: 

VPCID  
Wajib. ID VPC yang digunakan CodeBuild . Jalankan perintah ini untuk mendapatkan daftar semua ID VPC di Wilayah Anda:  

```
aws ec2 describe-vpcs --region {{<region-ID>}}
```

subnet  
Wajib. Array ID subnet yang menyertakan sumber daya yang digunakan oleh CodeBuild. Jalankan perintah ini untuk mendapatkan ID ini:  

```
aws ec2 describe-subnets --filters "Name=vpc-id,Values=<vpc-id>" --region {{<region-ID>}}
```

keamanan GroupIds  
Wajib. Array ID grup keamanan yang digunakan CodeBuild untuk mengizinkan akses ke sumber daya di VPC. Jalankan perintah ini untuk mendapatkan ID ini:  

```
aws ec2 describe-security-groups --filters "Name=vpc-id,Values={{<vpc-id>}}" --{{<region-ID>}}
```

#### BadgeDiaktifkan
<a name="cli.badgeenabled"></a>

Tidak wajib. Menentukan apakah akan menyertakan lencana build dengan CodeBuild proyek Anda. Setel `true` untuk mengaktifkan lencana build, atau `false` sebaliknya. Untuk informasi selengkapnya, lihat [Buat sampel lencana dengan CodeBuild](sample-build-badges.md).

#### LogsConfig
<a name="cli.logsconfig"></a>

Ob [ LogsConfig ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_LogsConfig.html) jek yang berisi informasi tentang lokasi log build ini.

LogsConfig/ awan ** WatchLogs **  <a name="cli.logsconfig.cloudwatchlogs"></a>
Ob [ CloudWatchLogsConfig ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CloudWatchLogsConfig.html) jek yang berisi informasi tentang mendorong log ke CloudWatch Log.

LogsConfig/S3log ** **  <a name="cli.logsconfig.s3logs"></a>
Ob [ S3LogsConfig ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_S3LogsConfig.html) jek yang berisi informasi tentang mendorong log ke Amazon S3.

#### berkas SystemLocations
<a name="cli.filesystemlocations"></a>

Tidak wajib. Array [ ProjectFileSystemsLocation ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectFileSystemLocation.html) objek yang berisi informasi tentang konfigurasi Amazon EFS Anda. 

#### membangun BatchConfig
<a name="cli.buildbatchconfig"></a>

Tidak wajib. Ob `buildBatchConfig` jek adalah [ ProjectBuildBatchConfig ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectBuildBatchConfig.html) struktur yang berisi informasi konfigurasi build batch untuk proyek.

membangunBatchConfig/**ServiceRole **  
Peran layanan ARN untuk proyek pembuatan batch.

membangunkanBatchConfig/**CombineArtifacts **  
Nilai Boolean yang menentukan apakah akan menggabungkan artefak build untuk build batch ke dalam satu lokasi artefak.

buildBatchConfig/restrictions/**maksimum BuildsAllowed **  
Jumlah maksimum build yang diizinkan.

buildBatchConfig/restrictions/**menghitung TypesAllowed **  
Array string yang menentukan jenis komputasi yang diizinkan untuk pembangunan batch. Lihat Mem [ bangun tipe komputasi lingkungan ](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) untuk nilai-nilai ini. 

buildBatchConfig/restrictions/ArmataDipers ** embahkan **  
Array string yang menentukan armada yang diizinkan untuk pembuatan batch. Lihat Men [ jalankan build pada armada kapasitas cadangan ](https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html) untuk informasi selengkapnya. 

bangun BatchConfig an/batas ** waktu InMinutes **  
Jumlah waktu maksimum, dalam menit, di mana pembuatan batch harus diselesaikan.

membang BatchConfig un/ ** batch ReportMode **   
Menentukan bagaimana laporan status build dikirim ke penyedia sumber untuk build batch. Nilai yang valid meliputi:    
`REPORT_AGGREGATED_BATCH`  
(Default) Agregasikan semua status build menjadi satu laporan status.  
`REPORT_INDIVIDUAL_BUILDS`  
Kirim laporan status terpisah untuk setiap build individu.

#### bersamaan BuildLimit
<a name="cli.concurrentbuildlimit"></a>

Jumlah maksimum membangun bersamaan yang diizinkan untuk proyek ini.

Pembuatan baru hanya dimulai jika jumlah pembuatan saat ini kurang dari atau sama dengan batas ini. Jika jumlah pembuatan saat ini memenuhi batas ini, pembuatan baru ditutup dan tidak dijalankan.

### Buat proyek
<a name="cp-cli-create-project"></a>

Untuk membuat proyek, jalankan **[`create-project`](https://docs.aws.amazon.com/cli/latest/reference/codebuild/create-project.html)** perintah lagi, lewati file JSON Anda:

```
aws codebuild create-project --cli-input-json file://{{<json-file>}}
```

Jika berhasil, representasi JSON dari [ objek ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Project.html) Project muncul di output konsol. Lihat Sintaks [ CreateProject ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CreateProject.html#API_CreateProject_ResponseSyntax) Respon untuk contoh data ini.

Kecuali untuk nama proyek build, Anda dapat mengubah pengaturan proyek build nanti. Untuk informasi selengkapnya, lihat [Mengubah pengaturan proyek build (AWS CLI)](change-project.md#change-project-cli).

Untuk mulai menjalankan build, lihat[Jalankan build (AWS CLI)](run-build-cli.md).

Jika kode sumber Anda disimpan dalam GitHub repositori, dan Anda CodeBuild ingin membangun kembali kode sumber setiap kali perubahan kode didorong ke repositori, lihat[Mulai menjalankan build secara otomatis ()AWS CLI](run-build-cli-auto-start.md).

## Buat proyek build (AWS SDK)
<a name="create-project-sdks"></a>

Untuk informasi tentang penggunaan AWS CodeBuild dengan AWS SDK, lihat. [AWS Referensi SDK dan alat](sdk-ref.md)

## Buat proyek build (CloudFormation)
<a name="create-project-cloud-formation"></a>

Untuk informasi tentang menggunakan AWS CodeBuild dengan CloudFormation, lihat [CloudFormation template untuk CodeBuild ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html) di Panduan *AWS CloudFormation Pengguna*.