

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

# Sampel repositori sumber pihak ketiga untuk CodeBuild
<a name="sample-third-party-source"></a>

Bagian ini menjelaskan contoh integrasi antara repositori sumber pihak ketiga dan. CodeBuild


| Sampel | Deskripsi | 
| --- | --- | 
|  BitBucket permintaan tarik dan sampel filter webhook - lihat [Jalankan sampel 'Bitbucket pull request dan webhook filter' untuk CodeBuild](sample-bitbucket-pull-request.md)  |  Contoh ini menunjukkan cara membuat permintaan tarik menggunakan repositori Bitbucket. Ini juga menunjukkan kepada Anda cara menggunakan webhook Bitbucket CodeBuild untuk memicu pembuatan proyek.  | 
|  GitHub Contoh Server Perusahaan - lihat [Jalankan sampel GitHub Enterprise Server untuk CodeBuild](sample-github-enterprise.md)  |  Contoh ini menunjukkan cara menyiapkan CodeBuild proyek ketika repositori GitHub Enterprise Server Anda memiliki sertifikat yang diinstal. Ini juga menunjukkan cara mengaktifkan webhook sehingga CodeBuild membangun kembali kode sumber setiap kali perubahan kode didorong ke repositori Server Perusahaan Anda GitHub .  | 
|  GitHub permintaan tarik dan sampel filter webhook - lihat [Jalankan permintaan GitHub tarik dan sampel filter webhook untuk CodeBuild](sample-github-pull-request.md)  |  Contoh ini menunjukkan cara membuat permintaan tarik menggunakan repositori GitHub Enterprise Server. Ini juga menunjukkan cara mengaktifkan webhook sehingga CodeBuild membangun kembali kode sumber setiap kali perubahan kode didorong ke repositori Server Perusahaan Anda GitHub .  | 

# Jalankan sampel 'Bitbucket pull request dan webhook filter' untuk CodeBuild
<a name="sample-bitbucket-pull-request"></a>

AWS CodeBuild mendukung webhooks ketika repositori sumber adalah Bitbucket. Ini berarti bahwa untuk proyek CodeBuild build yang memiliki kode sumbernya disimpan dalam repositori Bitbucket, webhook dapat digunakan untuk membangun kembali kode sumber setiap kali perubahan kode didorong ke repositori. Untuk informasi selengkapnya, lihat [Acara webhook Bitbucket](bitbucket-webhook.md). 

Contoh ini menunjukkan cara membuat permintaan tarik menggunakan repositori Bitbucket. Ini juga menunjukkan kepada Anda cara menggunakan webhook Bitbucket CodeBuild untuk memicu pembuatan proyek.

**catatan**  
Saat menggunakan webhook, pengguna dapat memicu build yang tidak terduga. Untuk mengurangi risiko ini, lihat. [Praktik terbaik untuk menggunakan webhooks](webhooks.md#webhook-best-practices)

**Topics**
+ [Prasyarat](#sample-bitbucket-pull-request-prerequisites)
+ [Langkah 1: Buat proyek build dengan Bitbucket dan aktifkan webhooks](#sample-bitbucket-pull-request-create)
+ [Langkah 2: Memicu build dengan webhook Bitbucket](#sample-bitbucket-pull-request-trigger)

## Prasyarat
<a name="sample-bitbucket-pull-request-prerequisites"></a>

 Untuk menjalankan sampel ini, Anda harus menghubungkan AWS CodeBuild proyek Anda dengan akun Bitbucket Anda. 

**catatan**  
 CodeBuild telah memperbarui izinnya dengan Bitbucket. Jika sebelumnya Anda menghubungkan proyek Anda ke Bitbucket dan sekarang menerima kesalahan koneksi Bitbucket, Anda harus menyambung kembali untuk memberikan CodeBuild izin untuk mengelola webhook Anda. 

## Langkah 1: Buat proyek build dengan Bitbucket dan aktifkan webhooks
<a name="sample-bitbucket-pull-request-create"></a>

 Langkah-langkah berikut menjelaskan cara membuat AWS CodeBuild proyek dengan Bitbucket sebagai repositori sumber dan mengaktifkan webhooks. 

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

1.  Jika halaman CodeBuild informasi ditampilkan, pilih **Buat proyek build**. Jika tidak, pada panel navigasi, perluas **Build**, pilih **Build projects**, lalu pilih **Create build project**. 

1. Pilih **Buat proyek build**. 

1. Dalam **konfigurasi Proyek**:  
**Nama proyek**  
Masukkan nama untuk proyek build ini. Membangun nama proyek harus unik di setiap AWS akun. Anda juga dapat menyertakan deskripsi opsional proyek build untuk membantu pengguna lain memahami tujuan proyek ini.

1. Dalam **Sumber**:  
**Penyedia sumber**  
Pilih **Bitbucket**. **Ikuti petunjuk untuk menghubungkan (atau menyambung kembali) dengan Bitbucket dan kemudian pilih Otorisasi.**  
**Repositori**  
Pilih **Repositori di akun Bitbucket saya**.  
Jika sebelumnya Anda belum terhubung ke akun Bitbucket Anda, masukkan nama pengguna dan kata sandi aplikasi Bitbucket Anda, lalu pilih **Simpan kredensi Bitbucket**.  
**Repositori Bitbucket**  
Masukkan URL untuk repositori Bitbucket Anda.

1. Di **Acara webhook sumber utama**, pilih yang berikut ini. 
**catatan**  
Bagian **peristiwa webhook sumber utama** hanya terlihat jika Anda memilih **Repositori di akun Bitbucket saya di** langkah sebelumnya.

   1. Pilih **Bangun ulang setiap kali perubahan kode didorong ke repositori ini** saat Anda membuat proyek Anda. 

   1. Dari **jenis Acara**, pilih satu atau beberapa acara. 

   1. Untuk memfilter saat peristiwa memicu build, di bawah **Memulai build dalam kondisi ini**, tambahkan satu atau beberapa filter opsional. 

   1. Untuk memfilter saat peristiwa tidak dipicu, di bawah **Jangan memulai build dalam kondisi ini**, tambahkan satu atau beberapa filter opsional. 

   1. Pilih **Tambahkan grup filter** untuk menambahkan grup filter lain, jika diperlukan. 

   Untuk informasi selengkapnya tentang jenis dan filter acara webhook Bitbucket, lihat. [Acara webhook Bitbucket](bitbucket-webhook.md)

1. Di **Lingkungan**:  
**Citra lingkungan**  
Pilih salah satu cara berikut:    
Untuk menggunakan image Docker yang dikelola oleh AWS CodeBuild:  
Pilih **Gambar terkelola**, lalu buat pilihan dari **Sistem operasi**, **Runtime**, **Gambar**, dan versi **Gambar**. Buat pilihan dari **jenis Lingkungan** jika tersedia.  
Untuk menggunakan gambar Docker lain:  
Pilih **gambar Kustom**. Untuk **jenis Lingkungan**, pilih **ARM**, **Linux**, **GPU Linux**, atau **Windows**. Jika Anda memilih **Registri 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 akun Anda. AWS   
Untuk menggunakan image Docker pribadi:  
Pilih **gambar Kustom**. Untuk **jenis Lingkungan**, pilih **ARM**, **Linux**, **GPU Linux**, atau **Windows**. Untuk **registri Gambar**, pilih **Registri lain**, lalu masukkan ARN kredensi untuk gambar Docker pribadi Anda. Kredensialnya harus dibuat oleh Secrets Manager. Untuk informasi lebih lanjut, lihat [Apa itu AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) dalam *AWS Secrets Manager User Guide*.  
**Peran layanan**  
Pilih salah satu cara berikut:  
   + Jika Anda tidak memiliki peran CodeBuild layanan, pilih **Peran layanan baru**. Di **Nama peran**, masukkan nama untuk peran baru.
   + Jika Anda memiliki peran CodeBuild layanan, pilih **Peran layanan yang ada**. Di **Peran ARN**, pilih peran layanan.
Saat menggunakan konsol untuk membuat atau memperbarui proyek build, Anda dapat membuat peran CodeBuild layanan secara bersamaan. Secara default, peran hanya berfungsi dengan proyek build tersebut. Jika Anda menggunakan konsol untuk mengaitkan peran layanan ini dengan proyek build lain, peran akan diperbarui agar berfungsi dengan proyek build lainnya. Peran layanan dapat bekerja dengan hingga 10 proyek pembangunan.

1. Di **Buildspec**, lakukan salah satu hal berikut:
   + Pilih **Gunakan file buildspec untuk menggunakan file** buildspec.ymldi direktori root kode sumber.
   + Pilih **Sisipkan perintah build** untuk menggunakan konsol untuk menyisipkan perintah build.

   Untuk informasi selengkapnya, lihat [Referensi Buildspec](build-spec-ref.md).

1. Dalam **Artefak**:  
**Jenis**  
Pilih salah satu cara berikut:  
   + Jika Anda tidak ingin membuat artefak keluaran build, pilih **Tidak ada artefak**.
   + 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. Secara default, nama artefak adalah nama proyek. Jika Anda ingin menggunakan nama yang berbeda, masukkan di kotak nama artefak. Jika Anda ingin mengeluarkan file ZIP, sertakan ekstensi zip.
     + Untuk **nama Bucket**, pilih nama bucket keluaran.
     + Jika Anda memilih **Sisipkan perintah build** sebelumnya dalam prosedur ini, 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).  
**Konfigurasi tambahan**  
Perluas **Konfigurasi tambahan** dan atur opsi yang sesuai.

1. Pilih **Buat proyek build**. Pada halaman **Review**, pilih **Start build** untuk menjalankan build.

## Langkah 2: Memicu build dengan webhook Bitbucket
<a name="sample-bitbucket-pull-request-trigger"></a>

Untuk proyek yang menggunakan webhook Bitbucket, AWS CodeBuild buat build saat repositori Bitbucket mendeteksi perubahan dalam kode sumber Anda. 

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

1. Pada panel navigasi, pilih **Build projects**, lalu pilih project yang terkait dengan repositori Bitbucket dengan webhook. Untuk informasi tentang membuat proyek webhook Bitbucket, lihat. [Langkah 1: Buat proyek build dengan Bitbucket dan aktifkan webhooks](#sample-bitbucket-pull-request-create) 

1. Buat beberapa perubahan dalam kode di repositori Bitbucket proyek Anda. 

1. Buat permintaan tarik pada repositori Bitbucket Anda. Untuk informasi selengkapnya, lihat [Membuat permintaan tarik](https://www.atlassian.com/git/tutorials/making-a-pull-request). 

1. Pada halaman webhooks Bitbucket, pilih **Lihat permintaan** untuk melihat daftar peristiwa terbaru. 

1. Pilih **Lihat detail** untuk melihat detail tentang respons yang dikembalikan oleh CodeBuild. Mungkin terlihat seperti ini: 

   ```
   "response":"Webhook received and build started: https://us-east-1.console.aws.amazon.com/codebuild/home..."
   "statusCode":200
   ```

1. Arahkan ke halaman permintaan tarik Bitbucket untuk melihat status build. 

# Jalankan sampel GitHub Enterprise Server untuk CodeBuild
<a name="sample-github-enterprise"></a>

AWS CodeBuild mendukung GitHub Enterprise Server sebagai repositori sumber. Contoh ini menunjukkan cara menyiapkan CodeBuild proyek Anda ketika repositori GitHub Enterprise Server Anda memiliki sertifikat yang diinstal. Ini juga menunjukkan cara mengaktifkan webhook sehingga CodeBuild membangun kembali kode sumber setiap kali perubahan kode didorong ke repositori Server Perusahaan Anda GitHub .

**Topics**
+ [Prasyarat](#sample-github-enterprise-prerequisites)
+ [Langkah 1: Buat proyek build dengan GitHub Enterprise Server dan aktifkan webhooks](#sample-github-enterprise-running)

## Prasyarat
<a name="sample-github-enterprise-prerequisites"></a>

1. Hasilkan token akses pribadi untuk CodeBuild proyek Anda. Kami menyarankan Anda membuat pengguna GitHub Enterprise dan membuat token akses pribadi untuk pengguna ini. Salin ke clipboard Anda sehingga dapat digunakan saat Anda membuat proyek Anda. CodeBuild 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.

   Saat Anda membuat token akses pribadi, sertakan lingkup **repo** dalam definisi.  
![\[Lingkup repo dalam definisi.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/scopes.png)

1. Unduh sertifikat Anda dari Server GitHub Perusahaan. CodeBuild menggunakan sertifikat untuk membuat koneksi SSL tepercaya ke repositori.

   **Klien Linux/macOS:**

   Dari jendela terminal, jalankan perintah berikut:

   ```
   echo -n | openssl s_client -connect HOST:PORTNUMBER \
       | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /folder/filename.pem
   ```

   Ganti placeholder dalam perintah dengan nilai-nilai berikut:

   *HOST*. Alamat IP repositori Server GitHub Perusahaan Anda.

   *PORTNUMBER*. Nomor port yang Anda gunakan untuk menghubungkan (misalnya, 443).

   *folder*. Folder tempat Anda mengunduh sertifikat Anda.

   *filename*. Nama file file sertifikat Anda.
**penting**  
Simpan sertifikat sebagai file.pem.

   **Klien Windows:**

   Gunakan browser Anda untuk mengunduh sertifikat Anda dari GitHub Enterprise Server. Untuk melihat detail sertifikat situs, pilih ikon gembok. Untuk informasi tentang cara mengekspor sertifikat, lihat dokumentasi browser Anda.
**penting**  
Simpan sertifikat sebagai file.pem.

1. Unggah file sertifikat Anda ke bucket S3. Untuk informasi tentang cara membuat bucket S3, lihat [Bagaimana cara membuat Bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket.html) Untuk informasi tentang cara mengunggah objek ke bucket S3, lihat [Bagaimana cara mengunggah file dan folder ke bucket?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)
**catatan**  
Ember ini harus berada di AWS wilayah yang sama dengan bangunan Anda. Misalnya, jika Anda menginstruksikan CodeBuild untuk menjalankan bangunan di Wilayah Timur AS (Ohio), ember harus berada di Wilayah Timur AS (Ohio).

## Langkah 1: Buat proyek build dengan GitHub Enterprise Server dan aktifkan webhooks
<a name="sample-github-enterprise-running"></a>

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

1.  Jika halaman CodeBuild informasi ditampilkan, pilih **Buat proyek build**. Jika tidak, pada panel navigasi, perluas **Build**, pilih **Build projects**, lalu pilih **Create build project**. 

1. Di **Nama proyek**, masukkan nama untuk proyek pembangunan ini. Membangun nama proyek harus unik di setiap AWS akun. Anda juga dapat menyertakan deskripsi opsional proyek build untuk membantu pengguna lain memahami tujuan proyek ini.

1. Di **Sumber**, di **penyedia Sumber**, pilih **Server GitHub Perusahaan**.
   + Pilih **Kelola kredenal akun**, lalu pilih Token **akses pribadi**. Untuk **Layanan**, pilih **Secrets Manager (disarankan)**, dan konfigurasikan rahasia Anda. Kemudian**, token akses pribadi GitHub Enterprise**, masukkan token akses pribadi Anda dan pilih **Simpan**.
   + Di **URL Repositori**, masukkan jalur ke repositori Anda, termasuk nama repositori.
   + Perluas **Additional configuration** (Konfigurasi tambahan).
   + Pilih **Rebuild setiap kali perubahan kode didorong ke repositori ini untuk** membangun kembali setiap kali perubahan kode didorong ke repositori ini.
   + Pilih **Aktifkan SSL yang tidak aman** untuk mengabaikan peringatan SSL saat Anda terhubung ke repositori proyek GitHub Enterprise Server Anda.
**catatan**  
Kami menyarankan Anda menggunakan **Aktifkan SSL yang tidak aman hanya** untuk pengujian. Ini tidak boleh digunakan di lingkungan produksi.  
![\[Konfigurasi repositori proyek GitHub Enterprise Server.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/github-enterprise.png)

1. Di **Lingkungan**:

   Untuk **citra Lingkungan**, lakukan salah satu hal berikut:
   + **Untuk menggunakan image Docker yang dikelola oleh AWS CodeBuild, pilih **Managed image**, lalu buat pilihan dari **Sistem operasi**, **Runtime, **Image, dan versi Image****.** Buat pilihan dari **jenis Lingkungan** jika tersedia.
   + Untuk menggunakan gambar Docker lain, pilih **Custom image**. Untuk **jenis Lingkungan**, pilih **ARM**, **Linux**, **GPU Linux**, atau **Windows**. Jika Anda memilih **Registri 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 akun Anda. AWS 
   + Untuk menggunakan image Docker pribadi, pilih **Custom image**. Untuk **jenis Lingkungan**, pilih **ARM**, **Linux**, **GPU Linux**, atau **Windows**. Untuk **registri Gambar**, pilih **Registri lain**, lalu masukkan ARN kredensil untuk gambar Docker pribadi Anda. Kredensialnya harus dibuat oleh Secrets Manager. Untuk informasi lebih lanjut, lihat [Apa itu AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) di *Panduan Pengguna AWS Secrets Manager *.

1. Dalam **peran Layanan**, lakukan salah satu hal berikut:
   + Jika Anda tidak memiliki peran CodeBuild layanan, pilih **Peran layanan baru**. Di **Nama peran**, masukkan nama untuk peran baru.
   + Jika Anda memiliki peran CodeBuild layanan, pilih **Peran layanan yang ada**. Di **Peran ARN**, pilih peran layanan.
**catatan**  
Saat menggunakan konsol untuk membuat atau memperbarui proyek build, Anda dapat membuat peran CodeBuild layanan secara bersamaan. Secara default, peran hanya berfungsi dengan proyek build tersebut. Jika Anda menggunakan konsol untuk mengaitkan peran layanan ini dengan proyek build lain, peran akan diperbarui agar berfungsi dengan proyek build lainnya. Peran layanan dapat bekerja dengan hingga 10 proyek pembangunan.

1. Perluas **Additional configuration** (Konfigurasi tambahan).

   Jika Anda CodeBuild ingin bekerja dengan VPC Anda:
   + Untuk **VPC**, pilih ID VPC yang digunakan. CodeBuild 
   + Untuk Subnet **VPC, pilih subnet** yang menyertakan sumber daya yang digunakan. CodeBuild 
   + Untuk **grup Keamanan VPC, pilih grup** keamanan yang CodeBuild digunakan untuk mengizinkan akses ke sumber daya di. VPCs

   Untuk informasi selengkapnya, lihat [Gunakan AWS CodeBuild dengan Amazon Virtual Private Cloud](vpc-support.md).

1. Di **Buildspec**, lakukan salah satu hal berikut:
   + Pilih **Gunakan file buildspec untuk menggunakan file** buildspec.ymldi direktori root kode sumber.
   + Pilih **Sisipkan perintah build** untuk menggunakan konsol untuk menyisipkan perintah build.

   Untuk informasi selengkapnya, lihat [Referensi Buildspec](build-spec-ref.md).

1. Di **Artefak**, untuk **Jenis**, lakukan salah satu hal berikut:
   + Jika Anda tidak ingin membuat artefak keluaran build, pilih **Tidak ada artefak**.
   + 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. Secara default, nama artefak adalah nama proyek. Jika Anda ingin menggunakan nama yang berbeda, masukkan di kotak nama artefak. Jika Anda ingin mengeluarkan file ZIP, sertakan ekstensi zip.
     + Untuk **nama Bucket**, pilih nama bucket keluaran.
     + Jika Anda memilih **Sisipkan perintah build** sebelumnya dalam prosedur ini, 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).

1. 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 **awalan jalur Cache** mirip dengan nama direktori. Itu memungkinkan Anda untuk menyimpan cache di bawah direktori yang sama dalam ember. 
**penting**  
Jangan menambahkan garis miring (/) ke ujung awalan jalur.
   +  Jika Anda ingin menggunakan cache lokal, pilih **Lokal**, lalu pilih satu atau beberapa 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 banyak waktu pembuatan 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 lebih lanjut tentang caching, lihat[Cache dibangun untuk meningkatkan kinerja](build-caching.md). 

1. Pilih **Buat proyek build**. Pada halaman proyek build, pilih **Start build**.

# Jalankan permintaan GitHub tarik dan sampel filter webhook untuk CodeBuild
<a name="sample-github-pull-request"></a>

AWS CodeBuild mendukung webhook saat repositori sumbernya. GitHub Ini berarti bahwa untuk proyek CodeBuild build yang memiliki kode sumbernya disimpan dalam GitHub repositori, webhook dapat digunakan untuk membangun kembali kode sumber setiap kali perubahan kode didorong ke repositori. Untuk CodeBuild sampel, lihat [AWS CodeBuild Sampel](https://github.com/aws-samples/aws-codebuild-samples).

**catatan**  
Saat menggunakan webhook, pengguna dapat memicu build yang tidak terduga. Untuk mengurangi risiko ini, lihat. [Praktik terbaik untuk menggunakan webhooks](webhooks.md#webhook-best-practices)

**Topics**
+ [Langkah 1: Buat proyek build dengan GitHub dan aktifkan webhooks](#sample-github-pull-request-running)
+ [Langkah 2: Verifikasi bahwa webhook diaktifkan](#verification-checks)

## Langkah 1: Buat proyek build dengan GitHub dan aktifkan webhooks
<a name="sample-github-pull-request-running"></a>

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

1.  Jika halaman CodeBuild informasi ditampilkan, pilih **Buat proyek build**. Jika tidak, pada panel navigasi, perluas **Build**, pilih **Build projects**, lalu pilih **Create build project**. 

1. Pilih **Buat proyek build**. 

1. Dalam **konfigurasi Proyek**:  
**Nama proyek**  
Masukkan nama untuk proyek build ini. Membangun nama proyek harus unik di setiap AWS akun. Anda juga dapat menyertakan deskripsi opsional proyek build untuk membantu pengguna lain memahami tujuan proyek ini.

1. Dalam **Sumber**:  
**Penyedia sumber**  
Pilih **GitHub**. Ikuti petunjuk untuk menghubungkan (atau menyambung kembali) dengan GitHub dan kemudian pilih **Otorisasi**.  
**Repositori**  
Pilih **Repositori di akun saya GitHub**.  
**GitHub repositori**  
Masukkan URL untuk GitHub repositori Anda.

1. Di **Acara webhook sumber utama**, pilih yang berikut ini.
**catatan**  
Bagian **peristiwa webhook sumber utama** hanya terlihat jika Anda memilih **Repositori di GitHub akun saya pada** langkah sebelumnya.

   1. Pilih **Bangun ulang setiap kali perubahan kode didorong ke repositori ini** saat Anda membuat proyek Anda. 

   1. Dari **jenis Acara**, pilih satu atau beberapa acara. 

   1. Untuk memfilter saat peristiwa memicu build, di bawah **Memulai build dalam kondisi ini**, tambahkan satu atau beberapa filter opsional. 

   1. Untuk memfilter saat peristiwa tidak dipicu, di bawah **Jangan memulai build dalam kondisi ini**, tambahkan satu atau beberapa filter opsional. 

   1. Pilih **Tambahkan grup filter** untuk menambahkan grup filter lain, jika diperlukan. 

   Untuk informasi selengkapnya tentang jenis dan filter acara GitHub webhook, lihat[GitHub acara webhook](github-webhook.md).

1. Di **Lingkungan**:  
**Citra lingkungan**  
Pilih salah satu cara berikut:    
Untuk menggunakan image Docker yang dikelola oleh AWS CodeBuild:  
Pilih **Gambar terkelola**, lalu buat pilihan dari **Sistem operasi**, **Runtime**, **Gambar**, dan versi **Gambar**. Buat pilihan dari **jenis Lingkungan** jika tersedia.  
Untuk menggunakan gambar Docker lain:  
Pilih **gambar Kustom**. Untuk **jenis Lingkungan**, pilih **ARM**, **Linux**, **GPU Linux**, atau **Windows**. Jika Anda memilih **Registri 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 akun Anda. AWS   
Untuk menggunakan image Docker pribadi:  
Pilih **gambar Kustom**. Untuk **jenis Lingkungan**, pilih **ARM**, **Linux**, **GPU Linux**, atau **Windows**. Untuk **registri Gambar**, pilih **Registri lain**, lalu masukkan ARN kredensi untuk gambar Docker pribadi Anda. Kredensialnya harus dibuat oleh Secrets Manager. Untuk informasi lebih lanjut, lihat [Apa itu AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) dalam *AWS Secrets Manager User Guide*.  
**Peran layanan**  
Pilih salah satu cara berikut:  
   + Jika Anda tidak memiliki peran CodeBuild layanan, pilih **Peran layanan baru**. Di **Nama peran**, masukkan nama untuk peran baru.
   + Jika Anda memiliki peran CodeBuild layanan, pilih **Peran layanan yang ada**. Di **Peran ARN**, pilih peran layanan.
Saat menggunakan konsol untuk membuat atau memperbarui proyek build, Anda dapat membuat peran CodeBuild layanan secara bersamaan. Secara default, peran hanya berfungsi dengan proyek build tersebut. Jika Anda menggunakan konsol untuk mengaitkan peran layanan ini dengan proyek build lain, peran akan diperbarui agar berfungsi dengan proyek build lainnya. Peran layanan dapat bekerja dengan hingga 10 proyek pembangunan.

1. Di **Buildspec**, lakukan salah satu hal berikut:
   + Pilih **Gunakan file buildspec untuk menggunakan file** buildspec.ymldi direktori root kode sumber.
   + Pilih **Sisipkan perintah build** untuk menggunakan konsol untuk menyisipkan perintah build.

   Untuk informasi selengkapnya, lihat [Referensi Buildspec](build-spec-ref.md).

1. Dalam **Artefak**:  
**Jenis**  
Pilih salah satu cara berikut:  
   + Jika Anda tidak ingin membuat artefak keluaran build, pilih **Tidak ada artefak**.
   + 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. Secara default, nama artefak adalah nama proyek. Jika Anda ingin menggunakan nama yang berbeda, masukkan di kotak nama artefak. Jika Anda ingin mengeluarkan file ZIP, sertakan ekstensi zip.
     + Untuk **nama Bucket**, pilih nama bucket keluaran.
     + Jika Anda memilih **Sisipkan perintah build** sebelumnya dalam prosedur ini, 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).  
**Konfigurasi tambahan**  
Perluas **Konfigurasi tambahan** dan atur opsi yang sesuai.

1. Pilih **Buat proyek build**. Pada halaman **Review**, pilih **Start build** untuk menjalankan build.

## Langkah 2: Verifikasi bahwa webhook diaktifkan
<a name="verification-checks"></a>

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

1. Di panel navigasi, pilih **Membangun proyek**.

1. Lakukan salah satu tindakan berikut:
   + Pilih tautan untuk proyek build dengan webhook yang ingin Anda verifikasi, lalu pilih Detail **build**.
   + Pilih tombol di samping proyek build dengan webhook yang ingin Anda verifikasi, pilih **Lihat detail**, lalu pilih tab **Build details**.

1. Di **acara webhook sumber utama**, pilih tautan URL **Webhook**. 

1. **Di GitHub repositori Anda, pada halaman **Pengaturan**, di bawah **Webhooks**, verifikasi bahwa **Permintaan Tarik** dan Push dipilih.**

1. Dalam pengaturan GitHub profil Anda, di bawah **Pengaturan Pribadi**, **Aplikasi**, ** OAuthAplikasi Resmi**, Anda akan melihat bahwa aplikasi Anda telah diizinkan untuk mengakses AWS Wilayah yang Anda pilih.

# Tutorial: Penandatanganan kode Apple dengan Fastlane dalam CodeBuild menggunakan S3 untuk penyimpanan sertifikat
<a name="sample-fastlane"></a>

[fastlane](https://docs.fastlane.tools/) adalah alat otomatisasi open source yang populer untuk mengotomatiskan penerapan dan rilis beta untuk aplikasi iOS dan Android Anda. Ini menangani semua tugas yang membosankan, seperti membuat tangkapan layar, menangani penandatanganan kode, dan merilis aplikasi Anda.

## Prasyarat
<a name="sample-fastlane-prerequisites"></a>

Untuk menyelesaikan tutorial ini, Anda harus terlebih dahulu menyiapkan yang berikut:
+ Sebuah Akun AWS
+ [Akun Pengembang Apple](https://developer.apple.com/)
+ Bucket S3 untuk menyimpan sertifikat
+ fastlane diinstal di proyek Anda - [Panduan](https://docs.fastlane.tools/getting-started/ios/setup/) untuk menginstal fastlane

## Langkah 1: Siapkan Fastlane Match dengan S3 di mesin lokal Anda
<a name="sample-fastlane-S3"></a>

[Fastlane Match](https://docs.fastlane.tools/actions/match/) adalah salah satu [alat Fastlane](https://fastlane.tools/), dan memungkinkan konfigurasi yang mulus untuk penandatanganan kode di lingkungan pengembangan lokal Anda dan seterusnya. CodeBuild Fastlane Match menyimpan semua sertifikat penandatanganan kode dan profil penyediaan di Git repository/S3 Bucket/Google Cloud Storage, dan mengunduh serta menginstal sertifikat dan profil yang diperlukan bila diperlukan.

Dalam konfigurasi contoh ini, Anda akan mengatur dan menggunakan bucket Amazon S3 untuk penyimpanan. 

****

1. Inisialisasi kecocokan dalam proyek Anda:

   ```
   fastlane match init
   ```

1. Saat diminta, pilih S3 sebagai mode penyimpanan.

1. Perbarui `*Matchfile*` Anda untuk menggunakan S3:

   ```
   storage_mode("s3")
      s3_bucket("your-s3-bucket-name")
      s3_region("your-aws-region")
      type("appstore") # The default type, can be: appstore, adhoc, enterprise or development
   ```

## Langkah 2: Siapkan Fastfile Anda
<a name="sample-fastlane-S3-fastfile"></a>

Buat atau perbarui `Fastfile` Anda dengan jalur berikut.

Pada CodeBuild, Fastlane Match harus dijalankan setiap kali Anda membangun dan menandatangani aplikasi Anda. Cara termudah untuk melakukannya adalah dengan menambahkan `match` tindakan ke jalur yang membangun aplikasi Anda.

```
default_platform(:ios)

platform :ios do
  before_all do
    setup_ci
  end
  
  desc "Build and sign the app"
  lane :build do
    match(type: "appstore", readonly: true)
    gym(
      scheme: "YourScheme",
      export_method: "app-store"
    )
  end
end
```

**catatan**  
Pastikan untuk menambahkan `setup_ci` ke `before_all ` bagian `Fastfile` agar tindakan pencocokan berfungsi dengan benar. Ini memastikan bahwa gantungan kunci Fastlane sementara dengan izin yang sesuai digunakan. Tanpa menggunakan ini, Anda mungkin melihat kegagalan build atau hasil yang tidak konsisten. 



## Langkah 3: Jalankan `fastlane match` perintah untuk menghasilkan sertifikat dan profil masing-masing
<a name="sample-fastlane-S3-certificates"></a>

Perintah fastlane match untuk tipe yang diberikan (yaitu, development, appstore, adhoc, enterprise) akan menghasilkan sertifikat dan profil jika tidak tersedia di remote store. Sertifikat dan profil akan disimpan di S3 oleh fastlane.

```
bundle exec fastlane match appstore
```

Eksekusi perintah akan interaktif dan fastlane akan meminta untuk mengatur frasa pass untuk mendekripsi sertifikat.

## Langkah 4: Buat file aplikasi untuk proyek Anda
<a name="sample-fastlane-S3-appfile"></a>

Buat atau tambahkan file aplikasi yang sesuai untuk proyek Anda.

****

1. Buat atau tambahkan [Gymfile](http://docs.fastlane.tools/actions/gym/#gymfile), [Appfile, Snapfile](http://docs.fastlane.tools/advanced/Appfile/)[, Deliverfile](http://docs.fastlane.tools/actions/snapshot/#snapfile) [berdasarkan persyaratan](http://docs.fastlane.tools/actions/deliver/#editing-the-deliverfile) pembuatan proyek Anda.

1. Komit perubahan ke repositori jarak jauh Anda

## Langkah 5: Buat variabel lingkungan di Secrets Manager
<a name="sample-fastlane-S3-secrets"></a>

Buat dua rahasia untuk menyimpan cookie sesi fastlane dan frasa pass yang cocok. Untuk informasi selengkapnya tentang membuat rahasia di Secrets Manager, lihat [Membuat AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).

****

1. Akses cookie sesi fastlane Anda sebagai berikut.

   1. Kunci rahasia - `FASTLANE_SESSION`

   1. Nilai rahasia - cookie sesi yang dihasilkan dari menjalankan perintah berikut di mesin lokal Anda.
**catatan**  
Nilai ini tersedia setelah otentikasi dalam file lokal:`~/.fastlane/spaceship/my_appleid_username/cookie`.

      ```
      fastlane spaceauth -u <apple account>
      ```

1. Frasa pass Fastlane Match - Untuk mengaktifkan Fastlane Match untuk mendekripsi sertifikat dan profil yang disimpan dalam bucket S3, Anda perlu menambahkan frasa sandi enkripsi yang Anda konfigurasikan dalam langkah penyiapan Match ke variabel lingkungan proyek. CodeBuild

   1. Kunci rahasia - `MATCH_PASSWORD`

   1. Nilai rahasia -*<match passphrase to decrypt certificates>*. Frasa sandi diatur saat menghasilkan sertifikat di Langkah 3.

**catatan**  
Saat membuat rahasia di atas di Secrets Manager, ingatlah untuk memberikan nama rahasia dengan awalan berikut: `/CodeBuild/`

## Langkah 6: Buat armada komputasi
<a name="sample-fastlane-S3-fleet"></a>

Buat armada komputasi untuk proyek Anda.

****

1. Di konsol, buka CodeBuild dan buat armada komputasi baru.

1. Pilih “macOS” sebagai sistem operasi dan pilih jenis dan gambar komputasi yang sesuai.

## Langkah 7: Buat proyek di CodeBuild
<a name="sample-fastlane-S3-project"></a>

Buat proyek Anda di CodeBuild.



****

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

1. Buat proyek build. Untuk informasi selengkapnya, lihat [Buat proyek build (konsol)](create-project.md#create-project-console) dan [Jalankan build (konsol)](run-build-console.md).

1. Siapkan penyedia sumber Anda (seperti GitHub, CodeCommit). Ini adalah repositori sumber proyek iOS dan bukan repositori sertifikat.

1.  Di **Lingkungan**: 
   + Pilih **Kapasitas Cadangan**.
   + Untuk **Armada**, pilih armada yang dibuat di atas.
   + Berikan nama peran layanan yang CodeBuild akan dibuat untuk Anda.
   + Berikan variabel lingkungan di bawah ini.
     + Nama:`MATCH_PASSWORD`, Nilai:*<secrets arn>*, Jenis: Secrets Manager (Rahasia ARN dibuat pada langkah 5 untuk MATCH\$1PASSWORD)
     + Nama:`FASTLANE_SESSION`, Nilai:*<secrets arn>*, Jenis: Secrets Manager (Rahasia ARN dibuat di Langkah 5 untuk FASTLANE\$1SESSION)

1. Di **Buildspec**, tambahkan yang berikut ini:

   ```
   version: 0.2
   
   phases:
     install:
       commands:
         - gem install bundler
         - bundle install
     build:
       commands:
         - echo "Building and signing the app..."
         - bundle exec fastlane build
     post_build:
       commands:
         - echo "Build completed on date"
   
   artifacts:
     files:
       - '*/.ipa'
     name: app-$(date +%Y-%m-%d)
   ```

## Langkah 8: Konfigurasikan peran IAM
<a name="sample-fastlane-S3-role"></a>

Setelah proyek dibuat, pastikan peran layanan CodeBuild proyek Anda memiliki izin untuk mengakses bucket S3 yang berisi sertifikat. Tambahkan kebijakan berikut ke peran:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::your-s3-bucket-name"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::your-s3-bucket-name/*"
        }
    ]
}
```

------

## Langkah 9: Jalankan build
<a name="sample-fastlane-S3-run"></a>

Jalankan build. Anda dapat meninjau status build dan log in CodeBuild.

Setelah pekerjaan selesai, Anda akan dapat melihat log pekerjaan.

## Pemecahan masalah
<a name="sample-fastlane-S3-troubleshooting"></a>
+ Jika Anda mengalami masalah dengan pengambilan sertifikat, pastikan izin IAM Anda diatur dengan benar untuk akses S3.
+ Jika Anda mengalami masalah dengan dekripsi sertifikat, pastikan Anda menetapkan frasa sandi yang benar dalam variabel lingkungan MATCH\$1PASSWORD.
+ Untuk masalah penandatanganan kode, verifikasi bahwa akun Pengembang Apple Anda memiliki sertifikat dan profil yang diperlukan, dan bahwa pengenal bundel dalam proyek Xcode Anda cocok dengan yang ada di profil penyediaan Anda.

## Pertimbangan keamanan
<a name="sample-fastlane-considerations"></a>

Berikut ini adalah pertimbangan keamanan untuk tutorial ini.
+ Pastikan bucket S3 Anda memiliki pengaturan keamanan yang sesuai, termasuk enkripsi saat istirahat. Secara khusus, pastikan bucket tidak memiliki akses publik dan membatasi akses hanya CodeBuild dan sistem yang perlu memiliki akses.
+ Pertimbangkan AWS Secrets Manager untuk menggunakan untuk menyimpan informasi sensitif seperti MATCH\$1PASSWORD dan FASTLANE\$1SESSION.

Contoh ini menyediakan penyiapan untuk penandatanganan kode iOS dengan Fastlane dalam CodeBuild menggunakan Amazon S3 untuk penyimpanan sertifikat. Anda mungkin perlu menyesuaikan beberapa langkah berdasarkan persyaratan dan CodeBuild lingkungan proyek spesifik Anda. Pendekatan ini memanfaatkan AWS layanan untuk meningkatkan keamanan dan integrasi dalam AWS ekosistem.

# Tutorial: Penandatanganan kode Apple dengan Fastlane saat CodeBuild digunakan GitHub untuk penyimpanan sertifikat
<a name="sample-fastlane-github"></a>

[fastlane](https://docs.fastlane.tools/) adalah alat otomatisasi open source yang populer untuk mengotomatiskan penerapan dan rilis beta untuk aplikasi iOS dan Android Anda. Ini menangani semua tugas yang membosankan, seperti membuat tangkapan layar, menangani penandatanganan kode, dan merilis aplikasi Anda.

Contoh ini menunjukkan cara menyiapkan penandatanganan kode Apple menggunakan Fastlane dalam CodeBuild proyek yang berjalan di armada Mac, dengan GitHub penyimpanan untuk sertifikat dan profil penyediaan.

## Prasyarat
<a name="sample-fastlane-github-prerequisites"></a>

Untuk menyelesaikan tutorial ini, Anda harus terlebih dahulu menyiapkan yang berikut:
+ Sebuah Akun AWS
+ [Akun Pengembang Apple](https://developer.apple.com/)
+ Sebuah GitHub repositori pribadi untuk menyimpan sertifikat
+ fastlane diinstal di proyek Anda - [Panduan](https://docs.fastlane.tools/getting-started/ios/setup/) untuk menginstal fastlane

## Langkah 1: Siapkan Fastlane Match dengan GitHub di mesin lokal Anda
<a name="sample-fastlane-github-certificates"></a>

[Fastlane Match](https://docs.fastlane.tools/actions/match/) adalah salah satu [alat Fastlane](https://fastlane.tools/), dan memungkinkan konfigurasi yang mulus untuk penandatanganan kode di lingkungan pengembangan lokal Anda dan seterusnya. CodeBuild Fastlane Match menyimpan semua sertifikat penandatanganan kode dan profil penyediaan di Git repository/S3 Bucket/Google Cloud Storage, dan mengunduh serta menginstal sertifikat dan profil yang diperlukan bila diperlukan.

Dalam contoh konfigurasi ini, kita akan mengatur dan menggunakan repositori Git untuk penyimpanan. 

****

1. Inisialisasi kecocokan dalam proyek Anda:

   ```
   fastlane match init
   ```

1. Saat diminta, pilih GitHub sebagai mode penyimpanan.

1. Perbarui `*Matchfile*` Anda untuk menggunakan: GitHub

   ```
   git_url("https://github.com/your-username/your-certificate-repo.git")
   storage_mode("git")
   type("development") # The default type, can be: appstore, adhoc, enterprise or development
   ```

**catatan**  
Pastikan Anda memasukkan URL HTTPS untuk repositori Git agar fastlane berhasil mengautentikasi dan mengkloning. Jika tidak, Anda mungkin melihat kesalahan otentikasi saat mencoba menggunakan match.

## Langkah 2: Siapkan Fastfile Anda
<a name="sample-fastlane-github-fastfile"></a>

Buat atau perbarui `Fastfile` Anda dengan jalur berikut.

Pada CodeBuild, Fastlane Match harus dijalankan setiap kali Anda membangun dan menandatangani aplikasi Anda. Cara termudah untuk melakukannya adalah dengan menambahkan `match` tindakan ke jalur yang membangun aplikasi Anda.

```
default_platform(:ios)

platform :ios do
  before_all do
    setup_ci
  end
  
  desc "Build and sign the app"
  lane :build do
    match(type: "appstore", readonly: true)
    gym(
      scheme: "YourScheme",
      export_method: "app-store"
    )
  end
end
```

**catatan**  
Pastikan untuk menambahkan `setup_ci` ke `before_all ` bagian `Fastfile` agar tindakan pencocokan berfungsi dengan benar. Ini memastikan bahwa gantungan kunci Fastlane sementara dengan izin yang sesuai digunakan. Tanpa menggunakan ini, Anda mungkin melihat kegagalan build atau hasil yang tidak konsisten. 

## Langkah 3: Jalankan `fastlane match` perintah untuk menghasilkan sertifikat dan profil masing-masing
<a name="sample-fastlane-github-certificates"></a>

Perintah fastlane match untuk tipe yang diberikan (yaitu development, appstore, adhoc, enterprise) akan menghasilkan sertifikat dan profil jika tidak tersedia di remote store. Sertifikat dan profil akan disimpan GitHub oleh fastlane.

```
bundle exec fastlane match appstore
```

Eksekusi perintah akan interaktif dan fastlane akan meminta untuk mengatur frasa pass untuk mendekripsi sertifikat.

## Langkah 4: Buat file aplikasi untuk proyek Anda
<a name="sample-fastlane-github-appfile"></a>

Buat atau tambahkan file aplikasi yang sesuai untuk proyek Anda.

****

1. Buat atau tambahkan [Gymfile](http://docs.fastlane.tools/actions/gym/#gymfile), [Appfile, Snapfile](http://docs.fastlane.tools/advanced/Appfile/)[, Deliverfile](http://docs.fastlane.tools/actions/snapshot/#snapfile) [berdasarkan persyaratan](http://docs.fastlane.tools/actions/deliver/#editing-the-deliverfile) pembuatan proyek Anda.

1. Komit perubahan ke repositori jarak jauh Anda.

## Langkah 5: Buat variabel lingkungan di Secrets Manager
<a name="sample-fastlane-github-secrets"></a>

Buat tiga rahasia untuk menyimpan cookie sesi fastlane dan frasa pass yang cocok. Untuk informasi selengkapnya tentang membuat rahasia di Secrets Manager, lihat [Membuat AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).

****

1. Akses cookie sesi fastlane Anda sebagai berikut.

   1. Kunci rahasia - `FASTLANE_SESSION`

   1. Nilai rahasia - cookie sesi yang dihasilkan dari menjalankan perintah berikut di mesin lokal Anda.
**catatan**  
Nilai ini tersedia setelah otentikasi dalam file lokal:`~/.fastlane/spaceship/my_appleid_username/cookie`.

      ```
      fastlane spaceauth -u <Apple_account>
      ```

1. Frasa pass Fastlane Match - Untuk mengaktifkan Fastlane Match untuk mendekripsi sertifikat dan profil yang disimpan dalam repositori Git, Anda perlu menambahkan frasa sandi enkripsi yang Anda konfigurasikan dalam langkah penyiapan Match ke variabel lingkungan proyek. CodeBuild 

   1. Kunci rahasia - `MATCH_PASSWORD`

   1. Nilai rahasia -`<match passphrase to decrypt certificates>`. Frasa sandi diatur saat menghasilkan sertifikat di Langkah 3.

1. *Fastlane `MATCH_GIT_BASIC_AUTHORIZATION` - menetapkan otorisasi dasar untuk pertandingan:*

   1. Kunci rahasia: 

      `MATCH_GIT_BASIC_AUTHORIZATION`

   1. Nilai rahasia - Nilai harus berupa string yang dikodekan base64 dari nama pengguna Anda dan token akses pribadi (PAT) dalam format. `username:password` Anda dapat membuatnya menggunakan perintah berikut:

      ```
      echo -n your_github_username:your_personal_access_token | base64
      ```

      Anda dapat membuat PAT di GitHub konsol di Profil **Anda > Pengaturan > Pengaturan Pengembang > Token Akses Pribadi**. Untuk informasi lebih lanjut, lihat panduan berikut: [https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing- your-personal-access-tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).

**catatan**  
Saat membuat rahasia di atas di Secrets Manager, ingatlah untuk memberikan nama rahasia dengan awalan berikut: `/CodeBuild/`

## Langkah 6: Buat armada komputasi
<a name="sample-fastlane-github-fleet"></a>

Buat armada komputasi untuk proyek Anda.

****

1. Di konsol, buka CodeBuild dan buat armada komputasi baru.

1. Pilih `macOS` sebagai sistem operasi dan pilih jenis dan gambar komputasi yang sesuai.

## Langkah 7: Buat proyek di CodeBuild
<a name="sample-fastlane-github-project"></a>

Buat proyek Anda di CodeBuild.

****

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

1. Buat proyek build. Untuk informasi selengkapnya, lihat [Buat proyek build (konsol)](create-project.md#create-project-console) dan [Jalankan build (konsol)](run-build-console.md).

1. Siapkan penyedia sumber Anda (seperti GitHub, CodeCommit). Ini adalah repositori sumber proyek iOS dan bukan repositori sertifikat.

1.  Di **Lingkungan**: 
   + Pilih **Kapasitas Cadangan**.
   + Untuk **Armada**, pilih armada yang dibuat di atas.
   + Berikan nama peran layanan yang CodeBuild akan dibuat untuk Anda.
   + Berikan variabel lingkungan di bawah ini.
     + Nama:`MATCH_PASSWORD`, Nilai:*<secrets arn>*, Jenis: Secrets Manager (Rahasia ARN dibuat pada langkah 5 untuk MATCH\$1PASSWORD)
     + Nama:`FASTLANE_SESSION`, Nilai:*<secrets arn>*, Jenis: Secrets Manager (Rahasia ARN dibuat pada langkah 5 untuk FASTLANE\$1SESSION)
     + Nama:`MATCH_GIT_BASIC_AUTHORIZATION`, Nilai:*<secrets ARN>*, Jenis: Secrets Manager Secrets Rahasia ARN (dibuat pada langkah 5 untuk) `MATCH_GIT_BASIC_AUTHORIZATION`

1. Di **Buildspec**, tambahkan yang berikut ini:

   ```
   version: 0.2
   
   phases:
     install:
       commands:
         - gem install bundler
         - bundle install
     build:
       commands:
         - echo "Building and signing the app..."
         - bundle exec fastlane build
     post_build:
       commands:
         - echo "Build completed on date"
   
   artifacts:
     files:
       - '*/.ipa'
     name: app-$(date +%Y-%m-%d)
   ```

## Langkah 8: Jalankan build
<a name="sample-fastlane-github-run"></a>

Jalankan build. Anda dapat meninjau status build dan log in CodeBuild.

Setelah pekerjaan selesai, Anda akan dapat melihat log pekerjaan.

## Pemecahan masalah
<a name="sample-fastlane-github-troubleshooting"></a>
+ Jika Anda mengalami masalah saat mengakses GitHub repositori, periksa kembali token akses pribadi Anda dan variabel lingkungan MATCH\$1GIT\$1BASIC\$1AUTHORIZATION.
+ Jika Anda mengalami masalah dengan dekripsi sertifikat, pastikan Anda menetapkan frasa sandi yang benar dalam variabel lingkungan MATCH\$1PASSWORD.
+ Untuk masalah penandatanganan kode, verifikasi bahwa akun Pengembang Apple Anda memiliki sertifikat dan profil yang diperlukan, dan bahwa pengenal bundel dalam proyek Xcode Anda cocok dengan yang ada di profil penyediaan Anda.

## Pertimbangan keamanan
<a name="sample-fastlane-github-considerations"></a>

Berikut ini adalah pertimbangan keamanan untuk tutorial ini.
+ Simpan GitHub repositori Anda untuk sertifikat pribadi dan akses audit secara teratur.
+ Pertimbangkan AWS Secrets Manager untuk menggunakan untuk menyimpan informasi sensitif seperti MATCH\$1PASSWORD dan FASTLANE\$1SESSION.

Contoh ini menyediakan penyiapan untuk penandatanganan kode iOS dengan Fastlane yang CodeBuild digunakan GitHub untuk penyimpanan sertifikat. Anda mungkin perlu menyesuaikan beberapa langkah berdasarkan persyaratan dan CodeBuild lingkungan proyek spesifik Anda. Pendekatan ini memanfaatkan AWS layanan untuk meningkatkan keamanan dan integrasi dalam AWS ekosistem.