GitHub dan akses Server GitHub Perusahaan di CodeBuild - AWS CodeBuild

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

GitHub dan akses Server GitHub Perusahaan di CodeBuild

Untuk GitHub, Anda dapat menggunakan token akses pribadi, OAuth aplikasi, rahasia Secrets Manager, atau koneksi GitHub Aplikasi untuk mengakses penyedia sumber. Untuk GitHub Enterprise Server, Anda dapat menggunakan token akses pribadi, rahasia Secrets Manager, atau koneksi GitHub Aplikasi untuk mengakses penyedia sumber.

GitHub Koneksi aplikasi untuk GitHub dan Server GitHub Perusahaan

Anda dapat menggunakan GitHub Aplikasi untuk terhubung CodeBuild. GitHub Koneksi aplikasi didukung melalui AWS CodeConnections.

Akses penyedia sumber memungkinkan Anda memicu build dengan berlangganan GitHub acara webhook menggunakan CreateWebhook, atau menggunakannyaGunakan pelari GitHub Tindakan yang dihosting sendiri di AWS CodeBuild. CodeBuild

catatan

CodeConnections tersedia di wilayah yang lebih sedikit dari 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.

Langkah 1: Buat koneksi ke GitHub App (konsol)

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

Untuk membuat koneksi ke GitHub

Langkah 2: Berikan akses IAM peran CodeBuild proyek untuk menggunakan koneksi

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

Untuk memberikan akses IAM peran CodeBuild proyek
  1. Buat IAM peran untuk CodeBuild proyek Anda dengan mengikuti petunjuk Memungkinkan CodeBuild untuk berinteraksi dengan AWS layanan lain untuk CodeBuild proyek Anda.

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

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [ <connection-arn> ] } ] }

Langkah 3: Konfigurasikan CodeBuild untuk menggunakan koneksi baru

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

AWS Management Console
Untuk mengonfigurasi koneksi sebagai kredensi tingkat akun di AWS Management Console
  1. Untuk penyedia Sumber, pilih GitHub.

  2. 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.

      2. Untuk jenis Kredenal, pilih GitHub Aplikasi.

      3. 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.

      2. 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.

GitHub dan token akses Server GitHub Perusahaan

Prasyarat token akses

Sebelum memulai, Anda harus menambahkan cakupan izin yang tepat ke token GitHub akses Anda.

Untuk GitHub, token akses pribadi Anda harus memiliki cakupan berikut.

  • repo: Memberikan kontrol penuh atas repositori pribadi.

  • repo:status: Memberikan akses baca/tulis ke status komit repositori publik dan pribadi.

  • admin:repo_hook: Memberikan kontrol penuh atas kait repositori. Cakupan ini tidak diperlukan jika token Anda memiliki repo ruang lingkup.

  • admin:org_hook: Memberikan kontrol penuh atas kait organisasi. Cakupan ini hanya diperlukan jika Anda menggunakan fitur webhook organisasi.

Untuk informasi selengkapnya, lihat Memahami cakupan OAuth aplikasi di GitHub situs web.

Jika Anda menggunakan token akses pribadi berbutir halus, tergantung pada kasus penggunaan Anda, token akses pribadi Anda mungkin memerlukan izin berikut:

  • Isi: Hanya baca: Memberikan akses ke repositori pribadi. Izin ini diperlukan jika Anda menggunakan repositori pribadi sebagai sumber.

  • Status komit: Baca dan tulis: Memberikan izin untuk membuat status komit. Izin ini diperlukan jika proyek Anda telah menyiapkan webhook, atau fitur status build laporan diaktifkan.

  • Webhooks: Baca dan tulis: Memberikan izin untuk mengelola webhook. Izin ini diperlukan jika proyek Anda telah menyiapkan webhook.

  • Permintaan tarik: Hanya baca: Memberikan izin untuk mengakses permintaan tarik. Izin ini diperlukan jika webhook Anda memiliki FILE_PATH filter pada peristiwa permintaan tarik.

  • Administrasi: Baca dan tulis: Izin ini diperlukan jika Anda menggunakan fitur pelari GitHub Tindakan yang dihosting sendiri. CodeBuild Untuk detail selengkapnya, lihat Membuat token pendaftaran untuk repositori dan. Gunakan pelari GitHub Tindakan yang dihosting sendiri di AWS CodeBuild

catatan

Jika Anda ingin mengakses repositori organisasi, pastikan Anda menentukan organisasi sebagai pemilik sumber daya token akses.

Untuk informasi selengkapnya, lihat Izin yang diperlukan untuk token akses pribadi berbutir halus di situs web. GitHub

Connect GitHub dengan token akses (konsol)

Untuk menggunakan konsol untuk menghubungkan proyek Anda GitHub dengan menggunakan token akses, lakukan hal berikut saat Anda membuat proyek. Untuk informasi, lihat Buat proyek build (konsol).

  1. Untuk penyedia Sumber, pilih GitHub.

  2. 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.

      2. Untuk tipe Credential, pilih Token akses pribadi.

      3. Jika Anda memilih kredensi sumber default, untuk Layanan pilih layanan mana yang ingin Anda gunakan untuk menyimpan token Anda dan lakukan hal berikut:

        • Jika Anda memilih untuk menggunakan Secrets Manager, Anda dapat memilih untuk menggunakan koneksi rahasia yang ada atau membuat rahasia baru dan memilih Simpan. Untuk informasi selengkapnya cara membuat rahasia baru, lihatBuat dan simpan token dalam rahasia Secrets Manager.

        • Jika Anda memilih untuk menggunakan CodeBuild, masukkan token akses GitHub pribadi Anda dan pilih Simpan.

    • Pilih Kredensi sumber kustom untuk menggunakan kredensi sumber kustom untuk mengganti setelan default akun Anda.

      1. Untuk tipe Credential, pilih Token akses pribadi.

      2. Dalam Koneksi, pilih untuk menggunakan koneksi rahasia yang ada atau buat rahasia baru.

Connect GitHub dengan token akses (CLI)

Ikuti langkah-langkah ini untuk menggunakan AWS CLI untuk menghubungkan proyek Anda GitHub dengan menggunakan token akses. Untuk informasi tentang menggunakan AWS CLI with AWS CodeBuild, lihatReferensi baris perintah.

  1. Jalankan perintah import-source-credentials:

    aws codebuild import-source-credentials --generate-cli-skeleton

    JSON-data yang diformat muncul di output. Salin data ke file (misalnya,import-source-credentials.json) di lokasi di komputer lokal atau contoh di AWS CLI mana diinstal. Ubah data yang disalin sebagai berikut, dan simpan hasil Anda.

    { "serverType": "server-type", "authType": "auth-type", "shouldOverwrite": "should-overwrite", "token": "token", "username": "username" }

    Ganti yang berikut ini:

    • server-type: Nilai yang dibutuhkan. Penyedia sumber yang digunakan untuk kredensi ini. Nilai yang valid adalah GITHUBBITBUCKET,, GITHUB _ENTERPRISE,GITLAB, dan GITLAB _ SELF _MANAGED.

    • auth-type: Nilai yang dibutuhkan. Jenis otentikasi yang digunakan untuk terhubung ke repositori. Nilai yang valid adalahOAUTH, BASIC _AUTH, PERSONAL _ ACCESS _TOKEN,CODECONNECTIONS, dan SECRETS _MANAGER. Untuk GitHub, hanya PERSONAL _ ACCESS _ TOKEN yang diizinkan. BASIC_ hanya AUTH diperbolehkan dengan kata sandi aplikasi Bitbucket.

    • should-overwrite: Nilai opsional. Setel false untuk mencegah penimpaan kredenal sumber repositori. Setel true untuk menimpa kredenal sumber repositori. Nilai default-nya adalah true.

    • token: Nilai yang dibutuhkan. Untuk GitHub atau Server GitHub Perusahaan, ini adalah token akses pribadi. Untuk Bitbucket, ini adalah token akses pribadi atau kata sandi aplikasi. Untuk auth-typeCODECONNECTIONS, ini adalah koneksi. ARN Untuk auth-type SECRETS _MANAGER, inilah rahasianya. ARN

    • username: Nilai opsional. Parameter ini diabaikan untuk GitHub dan penyedia sumber Server GitHub Perusahaan.

  2. Untuk menghubungkan akun Anda dengan token akses, beralih ke direktori yang berisi import-source-credentials.json file yang Anda simpan di langkah 1 dan jalankan import-source-credentials perintah lagi.

    aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json

    JSON-data yang diformat muncul di output dengan Amazon Resource Name ()ARN.

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
    catatan

    Jika Anda menjalankan import-source-credentials perintah dengan jenis server dan jenis autentikasi yang sama untuk kedua kalinya, token akses yang disimpan diperbarui.

    Setelah akun Anda terhubung dengan token akses, Anda dapat menggunakannya create-project untuk membuat CodeBuild proyek Anda. Untuk informasi selengkapnya, lihat Buat proyek build (AWS CLI).

  3. Untuk melihat token akses yang terhubung, jalankan list-source-credentials perintah.

    aws codebuild list-source-credentials

    sourceCredentialsInfosObjek JSON yang diformat muncul di output:

    { "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "server-type", "arn": "arn" } ] }

    sourceCredentialsObjectBerisi daftar informasi kredensial sumber yang terhubung:

    • authTypeIni adalah jenis otentikasi yang digunakan oleh kredensi. Ini bisaOAUTH,BASIC_AUTH,PERSONAL_ACCESS_TOKEN,CODECONNECTIONS, atauSECRETS_MANAGER.

    • serverTypeIni adalah jenis penyedia sumber. Ini bisaGITHUB,GITHUB_ENTERPRISE,BITBUCKET,GITLAB, atauGITLAB_SELF_MANAGED.

    • arnItu ARN adalah token.

  4. Untuk memutuskan sambungan dari penyedia sumber dan menghapus token aksesnya, jalankan delete-source-credentials perintah dengan miliknyaARN.

    aws codebuild delete-source-credentials --arn arn-of-your-credentials

    JSON-data yang diformat dikembalikan dengan ARN kredensi yang dihapus.

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }

GitHub OAuthaplikasi

Connect GitHub menggunakan OAuth (konsol)

Untuk menggunakan konsol untuk menghubungkan project Anda GitHub menggunakan OAuth aplikasi, lakukan hal berikut saat Anda membuat project. Untuk informasi, lihat Buat proyek build (konsol).

  1. Untuk penyedia Sumber, pilih GitHub.

  2. 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.

      2. Untuk tipe Credential, pilih OAuth.

      3. Jika Anda memilih kredensi sumber default, untuk Layanan pilih layanan mana yang ingin Anda gunakan untuk menyimpan token Anda dan lakukan hal berikut:

        • Jika Anda memilih untuk menggunakan Secrets Manager, Anda dapat memilih untuk menggunakan koneksi rahasia yang ada atau membuat rahasia baru dan memilih Simpan. Untuk informasi selengkapnya cara membuat rahasia baru, lihatBuat dan simpan token dalam rahasia Secrets Manager.

        • Jika Anda memilih untuk menggunakan CodeBuild, lanjutkan dengan memilih Connect to GitHub.

    • Pilih Kredensi sumber kustom untuk menggunakan kredensi sumber kustom untuk mengganti setelan default akun Anda.

      1. Untuk tipe Credential, pilih OAuth.

      2. Dalam Koneksi, pilih untuk menggunakan koneksi rahasia yang ada atau buat rahasia baru.

Untuk meninjau OAuth aplikasi resmi Anda, navigasikan ke Aplikasi aktif GitHub, dan verifikasi bahwa aplikasi bernama yang AWS CodeBuild (region) dimiliki oleh aws-codesuite terdaftar.