

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

# GitHub Koneksi aplikasi untuk GitHub dan Server GitHub Perusahaan
<a name="connections-github-app"></a>

Anda dapat menggunakan GitHub Aplikasi untuk terhubung CodeBuild. GitHub Koneksi aplikasi didukung melalui [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html).

Akses penyedia sumber memungkinkan Anda memicu build dengan berlangganan [GitHub acara webhook](github-webhook.md) menggunakan [ CreateWebhook](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CreateWebhook.html), atau menggunakannya[Tutorial: Konfigurasikan CodeBuild pelari GitHub Tindakan yang di-host](action-runner.md). CodeBuild

**catatan**  
CodeConnections tersedia di wilayah yang lebih sedikit daripada CodeBuild. Anda dapat menggunakan koneksi lintas wilayah di CodeBuild. Koneksi yang dibuat di wilayah keikutsertaan, tidak dapat digunakan di wilayah lain. Untuk informasi lebih lanjut, lihat [AWS CodeConnections kuota dan titik akhir](https://docs.aws.amazon.com/general/latest/gr/codestar_connections.html).

**Topics**
+ [Langkah 1: Buat koneksi ke GitHub App (konsol)](#connections-github-console)
+ [Langkah 2: Berikan akses peran IAM CodeBuild proyek untuk menggunakan koneksi](#connections-github-role-access)
+ [Langkah 3: Konfigurasikan CodeBuild untuk menggunakan koneksi baru](#connections-github-account-credential)
+ [Memecahkan Masalah Aplikasi GitHub](#connections-github-troubleshooting)

## Langkah 1: Buat koneksi ke GitHub App (konsol)
<a name="connections-github-console"></a>

Gunakan langkah-langkah ini untuk menggunakan CodeBuild konsol guna menambahkan koneksi untuk proyek Anda GitHub.

**Untuk membuat koneksi ke GitHub**
+ Ikuti petunjuk di *Panduan Pengguna Alat Pengembang* untuk [Membuat koneksi ke GitHub](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-github.html).

**catatan**  
Alih-alih membuat atau menggunakan koneksi yang ada di akun Anda, Anda dapat menggunakan koneksi yang dibagikan dari AWS akun lain. Untuk informasi selengkapnya, lihat [Berbagi koneksi dengan AWS akun](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html).

## Langkah 2: Berikan akses peran IAM CodeBuild proyek untuk menggunakan koneksi
<a name="connections-github-role-access"></a>

Anda dapat memberikan akses peran IAM CodeBuild proyek untuk menggunakan GitHub token yang dijual oleh koneksi Anda.

**Untuk memberikan CodeBuild akses peran IAM proyek**

1. Buat peran IAM untuk CodeBuild proyek Anda dengan mengikuti petunjuk [Memungkinkan CodeBuild untuk berinteraksi dengan AWS layanan lain](setting-up-service-role.md) untuk CodeBuild proyek Anda.

1. Saat mengikuti petunjuk, tambahkan kebijakan IAM berikut ke peran CodeBuild proyek Anda untuk memberikan akses ke koneksi.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "codeconnections:GetConnectionToken",
                   "codeconnections:GetConnection"
               ],
               "Resource": [
                   "arn:aws:iam::*:role/Service*"
               ]
           }
       ]
   }
   ```

------

## Langkah 3: Konfigurasikan CodeBuild untuk menggunakan koneksi baru
<a name="connections-github-account-credential"></a>

Anda dapat mengonfigurasi koneksi sebagai kredensi tingkat akun dan menggunakannya dalam proyek.

------
#### [ Konsol Manajemen AWS ]

**Untuk mengonfigurasi koneksi sebagai kredensi tingkat akun di Konsol Manajemen AWS**

1. Untuk **penyedia Sumber**, pilih **GitHub**. 

1. Untuk **Credential**, lakukan salah satu hal berikut:
   + Pilih **Kredensi sumber default** untuk menggunakan kredensi sumber default akun Anda untuk diterapkan ke semua proyek.

     1. Jika Anda tidak tersambung GitHub, pilih **Kelola kredensi sumber default**.

     1. Untuk **jenis Kredenal**, pilih **GitHub Aplikasi**.

     1. Di **Koneksi**, pilih untuk menggunakan koneksi yang ada atau buat koneksi baru.
   + Pilih **Kredensi sumber kustom untuk menggunakan kredensi** sumber kustom untuk mengganti setelan default akun Anda.

     1. Untuk **jenis Kredenal**, pilih **GitHub Aplikasi**.

     1. Di **Koneksi**, pilih untuk menggunakan koneksi yang ada atau buat koneksi baru.

------
#### [ AWS CLI ]

**Untuk mengonfigurasi koneksi sebagai kredensi tingkat akun di AWS CLI**
+ Buka terminal (Linux, macOS, atau Unix) atau command prompt (Windows). Gunakan AWS CLI untuk menjalankan **import-source-credentials** perintah, menentukan, `--auth-type``--server-type`, dan `--token` untuk koneksi Anda.

  Gunakan perintah berikut ini.

  ```
  aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type GITHUB --token <connection-arn>
  ```

------

Anda juga dapat mengatur beberapa token untuk CodeBuild proyek Anda. Untuk informasi selengkapnya, lihat [Konfigurasikan beberapa token sebagai kredenal tingkat sumber](multiple-access-tokens.md#asm-source-credential).

## Memecahkan masalah dengan Aplikasi GitHub
<a name="connections-github-troubleshooting"></a>

Informasi berikut dapat membantu Anda memecahkan masalah umum dengan Aplikasi. GitHub 

**Topics**
+ [Instal AWS Konektor untuk GitHub aplikasi di wilayah yang tidak diinginkan](#connections-github-troubleshooting.undesired-region)
+ [Koneksi GitHub Aplikasi tidak memiliki akses ke repositori](#connections-github-troubleshooting.repo-access)
+ [Peran IAM AWS layanan tidak memiliki izin IAM yang diperlukan.](#connections-github-troubleshooting.iam-permissions)

### Instal AWS Konektor untuk GitHub aplikasi di wilayah yang tidak diinginkan
<a name="connections-github-troubleshooting.undesired-region"></a>

**Masalah:** Anda menginstal AWS Konektor untuk GitHub dari GitHub Marketplace, tetapi koneksi dibuat di wilayah yang tidak diinginkan. Jika Anda mencoba mengonfigurasi ulang aplikasi di GitHub situs web, itu tidak akan berfungsi karena aplikasi sudah diinstal di GitHub akun Anda.

**Kemungkinan penyebabnya:** Aplikasi sudah diinstal di GitHub akun Anda, jadi Anda hanya dapat mengonfigurasi ulang izin aplikasi.

**Solusi yang disarankan:** Anda dapat membuat koneksi baru dengan ID instalasi di wilayah yang diinginkan.

1. Buka CodeConnections konsol di [https://console.aws.amazon.com/codesuite/pengaturan/koneksi](https://console.aws.amazon.com/codesuite/settings/connections) dan arahkan ke wilayah yang diinginkan menggunakan pemilih wilayah di bilah navigasi konsol. AWS 

1. Ikuti petunjuk di *Panduan Pengguna Alat Pengembang* untuk [Membuat koneksi ke GitHub](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-github.html).
**catatan**  
Karena Anda telah menginstal AWS Connector for GitHub app, Anda dapat memilihnya daripada menginstal aplikasi baru.

### Koneksi GitHub Aplikasi tidak memiliki akses ke repositori
<a name="connections-github-troubleshooting.repo-access"></a>

**Masalah:** AWS Layanan yang menggunakan koneksi, seperti CodeBuild atau CodePipeline, melaporkan bahwa layanan tersebut tidak memiliki akses ke repositori atau repositori tidak ada. Beberapa pesan kesalahan yang mungkin termasuk:
+ `Authentication required for primary source.`
+ `Unable to create webhook at this time. Please try again later.`
+ `Failed to create webhook. GitHub API limit reached. Please try again later.`

***Kemungkinan penyebabnya:** Anda mungkin telah menggunakan GitHub aplikasi dan belum memberikan cakupan izin webhook.*  
**Solusi yang disarankan:** Untuk memberikan cakupan izin yang diperlukan, ikuti petunjuk dalam [Menavigasi ke GitHub Aplikasi yang ingin Anda tinjau atau ubah untuk](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#navigating-to-the-github-app-you-want-to-review-or-modify) mengonfigurasi aplikasi yang diinstal. Di bawah bagian izin, Anda akan melihat aplikasi tidak memiliki izin webhooks, dan ada opsi bagi Anda untuk meninjau izin yang baru diminta. Tinjau dan terima izin baru. Untuk informasi selengkapnya, lihat [Menyetujui izin yang diperbarui untuk](https://docs.github.com/en/apps/using-github-apps/approving-updated-permissions-for-a-github-app) Aplikasi. GitHub 

***Kemungkinan penyebabnya:** Koneksi berfungsi seperti yang diharapkan, tetapi tiba-tiba tidak memiliki akses ke repositori.*  
**Solusi yang memungkinkan:** Mulailah dengan meninjau [otorisasi](https://docs.github.com/en/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps) dan [instalasi](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps) Anda, lalu verifikasi GitHub Aplikasi diotorisasi dan diinstal. Jika penginstalan GitHub Aplikasi ditangguhkan, maka Anda harus melepaskannya. Jika GitHub Aplikasi tidak diizinkan untuk koneksi [UAT (User Access Token)](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user), atau tidak diinstal untuk koneksi [IAT (Installation Access Token)](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation), koneksi yang ada tidak dapat digunakan lagi, dan Anda perlu membuat koneksi baru. Perhatikan bahwa menginstal ulang GitHub Aplikasi tidak akan menghidupkan kembali koneksi sebelumnya yang terkait dengan instalasi lama.  
**Solusi yang mungkin:** Jika koneksi adalah koneksi UAT, pastikan koneksi tidak digunakan secara bersamaan, seperti yang digunakan dalam beberapa proses build CodeBuild secara bersamaan. Ini karena GitHub segera membatalkan UAT yang dikeluarkan sebelumnya jika token yang kedaluwarsa disegarkan oleh koneksi. Jika Anda perlu menggunakan koneksi UAT untuk beberapa CodeBuild build bersamaan, Anda dapat membuat beberapa koneksi dan menggunakan setiap koneksi secara independen.  
**Solusi yang mungkin:** Jika koneksi UAT belum digunakan dalam 6 bulan terakhir, koneksi akan dibatalkan oleh. GitHub Untuk memperbaikinya, buat koneksi baru.

***Kemungkinan penyebabnya:** Anda mungkin telah menggunakan koneksi UAT tanpa menginstal aplikasi.*  
**Solusi yang disarankan:** Meskipun membuat koneksi UAT tidak memerlukan pengaitkan koneksi dengan instalasi GitHub Aplikasi, penginstalan diperlukan agar repositori dapat diakses. Ikuti petunjuk untuk [meninjau instalasi](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps) untuk memastikan GitHub Aplikasi diinstal. Jika tidak diinstal, navigasikan ke [halaman GitHub Aplikasi](https://github.com/marketplace/aws-connector-for-github) untuk menginstal aplikasi. Untuk informasi selengkapnya tentang akses UAT, lihat [Tentang token akses pengguna](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app#about-user-access-tokens).

### Peran IAM AWS layanan tidak memiliki izin IAM yang diperlukan.
<a name="connections-github-troubleshooting.iam-permissions"></a>

**Masalah:** Anda melihat salah satu pesan galat berikut:
+ `Access denied to connection <connection-arn>`
+ `Failed to get access token from <connection-arn>`

**Solusi yang disarankan:** Biasanya Anda menggunakan koneksi dengan AWS layanan, seperti CodePipeline atau CodeBuild. Ketika Anda memberikan AWS layanan peran IAM, AWS layanan dapat menggunakan izin peran untuk bertindak atas nama Anda. Pastikan peran IAM memiliki izin yang diperlukan. Untuk informasi selengkapnya tentang izin IAM yang diperlukan, lihat [Memberikan akses peran IAM CodeBuild proyek untuk menggunakan koneksi](#connections-github-role-access) dan [manajemen Identitas dan akses untuk AWS CodeStar Pemberitahuan dan CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html) di *Panduan Pengguna konsol Alat Pengembang*.