Petunjuk ini ditujukan untuk developer aplikasi, administrator platform, dan pengelola keamanan yang ingin menggunakan repositori kode sumber GitHub Enterprise dengan Google. Secara khusus, Anda dapat menggunakan repositori GitHub Enterprise dengan Gemini Code Assist.
Untuk mempelajari Developer Connect lebih lanjut, lihat Ringkasan Developer Connect.
Sebelum memulai
-
Login ke Akun Google Anda.
Jika Anda belum memilikinya, Daftar untuk membuat akun baru.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect and Service Directory APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect and Service Directory APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Pastikan Anda memiliki akses ke akun di GitHub Enterprise.
Untuk membantu menjaga keamanan pekerjaan tim Anda, sebaiknya selesaikan tugas dalam panduan ini menggunakan akun bot atau akun yang dibagikan oleh tim Anda, bukan akun pribadi.
- Pastikan Anda memiliki repositori GitHub Enterprise, atau memiliki izin tingkat admin di repositori bersama.
Saat menggunakan repositori di organisasi GitHub Enterprise, pastikan Anda memiliki izin GitHub App Manager.
- Pastikan Anda memiliki resource layanan Direktori Layanan untuk
terhubung ke jaringan pribadi, atau
buat
resource layanan Direktori Layanan. Anda dapat membuat resource layanan Direktori Layanan di project yang sama dengan yang Anda gunakan dengan Developer Connect, atau Anda dapat menggunakan project lain.
Untuk koneksi ke jaringan di luar Google Cloud, Anda mungkin perlu mengonfigurasi Direktori Layanan secara berbeda. Lihat Menggunakan Direktori Layanan untuk menjangkau host di luar Google Cloud.
- Opsional: Buat kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengenkripsi secret autentikasi yang dibuat Developer Connect.
- Opsional: Untuk menggunakan petunjuk command line dalam panduan ini, selesaikan langkah-langkah berikut:
- Instal Google Cloud CLI. Jika
Anda telah menginstal gcloud CLI sebelumnya, pastikan Anda memiliki
versi terbaru yang tersedia dengan menjalankan
gcloud components update. - Buat akun layanan Developer Connect
dengan menjalankan perintah berikut, dengan PROJECT_ID adalah Google Cloud project ID Anda:
gcloud beta services identity create \ --service=developerconnect.googleapis.com \ --project=PROJECT_ID
- Instal Google Cloud CLI. Jika
Anda telah menginstal gcloud CLI sebelumnya, pastikan Anda memiliki
versi terbaru yang tersedia dengan menjalankan
Mengaktifkan Developer Connect juga akan mengaktifkan Secret Manager API.
Memberikan izin IAM yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat koneksi dan link, minta administrator untuk memberi Anda peran IAM berikut:
-
Jika Anda bukan pemilik project:
Admin Developer Connect (
roles/developerconnect.admin) di akun pengguna Anda. -
Jika Anda berencana menggunakan CMEK untuk mengenkripsi secret yang dibuat Developer Connect:
Pengenkripsi/Pendekripsi CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter) di Akun Layanan Secret Manager. -
Jika Anda berencana menggunakan gcloud CLI untuk menyelesaikan langkah-langkah dalam panduan ini:
Peran Admin Secret Manager (
roles/secretmanager.admin) di Akun Layanan Developer Connect. -
Jika Anda berencana menggunakan Google Cloud konsol untuk menyelesaikan langkah-langkah dalam panduan ini:
Admin IAM Project (
roles/resourcemanager.projectIamAdmin) di akun pengguna Anda.
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Memberikan izin untuk menggunakan Direktori Layanan
Selesaikan langkah-langkah berikut untuk mengizinkan Developer Connect menggunakan Direktori Layanan, dan mengizinkan Direktori Layanan mengakses resource jaringan VPC Anda.
Berikan izin untuk akun layanan Developer Connect agar dapat menggunakan Direktori Layanan dengan menjalankan perintah berikut:
PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)") SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-devconnect.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding SERVICE_DIRECTORY_RESOURCE_PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/servicedirectory.viewer"Ganti kode berikut:
- PROJECT_ID: project ID Anda Google Cloud .
- SERVICE_DIRECTORY_RESOURCE_PROJECT_ID: project ID untuk project yang berisi resource layanan Direktori Layanan Anda. Google Cloud
Berikan izin untuk Direktori Layanan agar dapat mengakses resource jaringan VPC Anda. Resource jaringan dapat berada di project lain.
gcloud projects add-iam-policy-binding NETWORK_RESOURCE_PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/servicedirectory.pscAuthorizedService"Ganti NETWORK_RESOURCE_PROJECT_ID dengan project ID untuk project yang berisi resource jaringan VPC Anda.
Menggunakan Direktori Layanan untuk menjangkau host di luar Google Cloud
Direktori Layanan menggunakan rentang alamat IP 35.199.192.0/19 untuk
menghubungkan host Anda di luar Google Cloud. Anda harus menambahkan rentang ini ke daftar yang diizinkan di firewall Anda. Selain itu, jaringan pribadi Anda harus dikonfigurasi untuk merutekan rentang ini melalui koneksi Cloud VPN atau Cloud Interconnect.
Jika koneksi Anda menggunakan Cloud Router, Anda dapat mengonfigurasi koneksi untuk mengomunikasikan rentang ke jaringan pribadi Anda.
Untuk mempelajari lebih lanjut, lihat Mengonfigurasi akses jaringan pribadi.
Menggunakan Cloud Load Balancing untuk menjangkau host di luar Google Cloud
Jika konfigurasi jaringan Anda tidak mengizinkan Anda merutekan
rentang alamat IP Direktori Layanan 35.199.192.0/19 ke
Cloud VPN atau Cloud Interconnect, Anda dapat
membuat load balancer menggunakan
Cloud Load Balancing yang mengarahkan traffic ke host Anda.
Saat membuat endpoint Direktori Layanan, pastikan untuk menggunakan alamat IP aturan penerusan load balancer, bukan alamat IP host Anda. Anda dapat menggunakan load balancer HTTPS internal atau load balancer protokol kontrol transmisi (TCP) internal saat membuat endpoint.
Saat membuat load balancer TCP, pertimbangkan hal berikut:
- Hanya grup endpoint jaringan (NEG) konektivitas hybrid yang diperlukan untuk menjangkau host Anda.
- Load balancer TCP tidak memerlukan kunci pribadi yang tidak dienkripsi untuk sertifikat SSL Anda.
- Penyiapan Cloud VPN Anda harus menggunakan Cloud Router dengan perutean dinamis global. Jika Cloud VPN Anda menggunakan perutean statis, Anda dapat menggunakan proxy yang menggunakan Cloud Service Mesh. Untuk mempelajari lebih lanjut, lihat Menyiapkan layanan edge jaringan untuk deployment hybrid.
Untuk mempelajari lebih lanjut cara membuat load balancer HTTPS, lihat Menyiapkan Load Balancer Aplikasi internal dengan konektivitas hybrid. Untuk mempelajari lebih lanjut cara membuat load balancer TCP, lihat Menyiapkan Load Balancer Jaringan proxy internal regional dengan konektivitas hybrid.
Membuat koneksi
Bagian ini menjelaskan cara membuat koneksi antara Developer Connect dan GitHub Enterprise. Jika Anda menggunakan Google Cloud konsol, Anda juga dapat mulai menambahkan link ke repositori saat Anda selesai menyiapkan koneksi.
Untuk membuat koneksi GitHub Enterprise baru, pilih salah satu opsi berikut:
Konsol
Mulai koneksi dengan menyelesaikan langkah-langkah berikut:
Di Google Cloud konsol, buka Developer Connect.
Developer Connect menampilkan halaman Repositori Git.
- Jika Anda melihat daftar penyedia pengelolaan kode sumber: Mulai konfigurasi koneksi pertama Anda dengan memilih penyedia pengelolaan kode sumber. Klik Connect di kartu GitHub Enterprise.
Jika Anda melihat tabel yang mencantumkan koneksi yang ada: Tetapkan penyedia pengelolaan kode sumber dengan mengklik Create connection > GitHub Enterprise.
Halaman Create Connection akan terbuka.
Untuk Region, pilih region untuk resource koneksi Anda.
- Untuk Name, masukkan nama untuk koneksi baru Anda.
Aktifkan kotak centang Enable a data residency compliant connection untuk membuat koneksi ini mematuhi persyaratan residensi data.
Koneksi GitHub yang dibuat menggunakan Google Cloud konsol mematuhi residensi data jika Anda mengaktifkan kotak centang ini saat membuat koneksi. Saat Anda melakukannya, Developer Connect akan membuat aplikasi GitHub
Saat Anda membuat koneksi GitHub menggunakan Google Cloud CLI, koneksi tersebut tidak mematuhi residensi data. Semua jenis koneksi lainnya mematuhi residensi data.
Untuk Host URL, masukkan URL host yang ingin Anda hubungkan.
Klik Show more untuk melihat setelan konfigurasi opsional.
Kotak centang Enable Developer Connect proxy dipilih secara default sehingga Developer Connect dapat bertindak sebagai proxy untuk panggilan Git ke GitHub Enterprise.
Di bagian Networking, untuk Network type, pilih Private network.
Untuk CA Certificate, klik Browse untuk mengupload sertifikat yang ditandatangani sendiri.
Ukuran sertifikat Anda tidak boleh melebihi 10 KB dan harus dalam format PEM (.pem, .cer, atau .crt). Jika bagian ini dibiarkan kosong, kumpulan sertifikat default akan digunakan.
Di bagian Service Directory service, pilih lokasi layanan Anda:
- In project
your-project - In another project
- Enter manually
Jika Anda memilih In another project atau Enter manually, tentukan project ID Anda Google Cloud . Pilih project di menu drop-down, atau masukkan project ID secara manual.
- In project
Region: Pilih region layanan Direktori Layanan Anda. Region yang ditentukan untuk layanan Anda harus cocok dengan region yang terkait dengan koneksi Anda.
Namespace: Pilih namespace layanan Direktori Layanan Anda.
Layanan: Pilih nama layanan Direktori Layanan di namespace Anda.
Opsional: Di bagian Encryption, pilih kunci CMEK untuk mengenkripsi secret Secret Manager yang dibuat Developer Connect.
Klik Continue.
Dialog GitHub akan muncul, meminta Anda membuat aplikasi GitHub.
Dengan mengikuti perintah di GitHub, selesaikan tugas berikut:
Masukkan nama untuk aplikasi Anda.
Pilih organisasi tempat Anda ingin menginstal aplikasi.
Pilih repositori yang ingin Anda beri akses.
Dialog akan ditutup.
Developer Connect mengambil kunci pribadi Anda dari GitHub dan menyimpan nya di project Anda sebagai secret Secret Manager . Google Cloud Untuk melihat secret Anda, cantumkan secret di Secret Manager.
Setelah koneksi dibuat, halaman Link repositories akan muncul.
Selesaikan langkah-langkah berikut untuk menautkan repositori ke koneksi Anda:
Dalam daftar repositori yang tersedia, pilih repositori yang ingin Anda gunakan.
Klik OK.
Klik Link.
Koneksi Anda ditambahkan ke halaman Connections dan link repositori Anda ditambahkan ke halaman Repositories di Google Cloud konsol. Anda dapat menambahkan lebih banyak link ke koneksi yang ada kapan saja.
Jika Anda menyiapkan Gemini Code Assist, lanjutkan prosesnya dengan mengikuti langkah-langkah di Mengonfigurasi dan menggunakan penyesuaian kode Gemini Code Assist.
gcloud
Tugas berikut memerlukan beberapa tindakan di browser web Anda.
Jalankan perintah
gcloud developer-connect connections createuntuk membuat koneksi ke GitHub Enterprise:gcloud developer-connect connections create CONNECTION_NAME \ --location=REGION \ --project=PROJECT_ID \ --github-enterprise-config-host-uri=HOST_URI --github-enterprise-config-service-directory=SERVICE_DIRECTORY_RESOURCE --git-proxy-config-enabledGanti kode berikut:
- CONNECTION_NAME: nama untuk koneksi Anda.
- REGION: region untuk koneksi Anda.
- HOST_URI: URI untuk host yang ingin Anda hubungkan.
- SERVICE_DIRECTORY_RESOURCE: jalur resource Direktori Layanan Anda, dalam format
projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE/services/SERVICE. --git-proxy-config-enabledadalah flag opsional yang memungkinkan Developer Connect bertindak sebagai proxy untuk panggilan Git ke GitHub Enterprise. Anda harus mengaktifkan fitur ini saat menjalankan penyesuaian kode Gemini Code Assist di repositori kode sumber GitHub Enterprise yang dihosting di jaringan pribadi.--github-enterprise-config-ssl-ca-certificateadalah flag opsional untuk menambahkan sertifikat SSL, dalam format$HOME/my-ssl-ca.txt.
Anda harus membuat aplikasi GitHub untuk mengelola koneksi dengan GitHub. Jalankan perintah berikut untuk mendapatkan URI untuk penyiapan aplikasi:
gcloud developer-connect connections describe CONNECTION_NAME \ --location=REGIONGanti kode berikut:
- CONNECTION_NAME: nama untuk koneksi Anda.
- REGION: region untuk koneksi Anda.
Developer Connect menampilkan link untuk menyelesaikan langkah berikutnya di jendela browser. Salin link ini.
Buka link di browser web.
Login ke akun GitHub Anda jika diminta.
Dengan mengikuti perintah di GitHub, selesaikan tugas berikut:
Masukkan nama untuk aplikasi Anda.
Pilih organisasi tempat Anda ingin menginstal aplikasi.
Pilih repositori yang ingin Anda beri akses.
Dialog akan ditutup.
Developer Connect mengambil kunci pribadi Anda dari GitHub dan menyimpan nya di project Anda sebagai secret Secret Manager . Google Cloud Untuk melihat secret Anda, cantumkan secret di Secret Manager.
Memverifikasi koneksi
Verifikasi pembuatan koneksi GitHub Anda dengan menjalankan perintah berikut:
gcloud developer-connect connections describe CONNECTION_NAME \
--location=REGION
Dengan:
- CONNECTION_NAME: nama koneksi Anda.
- REGION: region untuk koneksi Anda.
Developer Connect menampilkan status di kolom installationState. Jika nilai kolom ini adalah COMPLETE, penginstalan aplikasi Anda telah selesai.
Jika tidak, Developer Connect akan menampilkan URI untuk mengembalikan Anda ke konfigurasi di browser.
Setelah koneksi Anda selesai, pilih repositori yang akan ditautkan dengan mengikuti petunjuk di Menautkan ke repositori.
Menambahkan link repositori ke koneksi yang ada
Setelah membuat koneksi ke GitHub Enterprise, Anda dapat menautkan ke repositori. Anda dapat mengulangi langkah-langkah ini nanti untuk menautkan repositori tambahan sesuai kebutuhan.
Untuk membuat link repositori di koneksi GitHub Enterprise yang ada, pilih salah satu opsi berikut:
Konsol
Buka halaman Repositories di Google Cloud konsol.
Klik Link repository.
Panel Link Git repositories akan terbuka.
Dalam daftar koneksi, pilih koneksi.
Klik Continue.
Dalam daftar repositori, pilih repositori yang ingin Anda tautkan.
Klik Create.
Developer Connect membuat link repositori dan menampilkannya di konsol Google Cloud .
gcloud
Jalankan perintah berikut:
gcloud developer-connect connections git-repository-links create REPO_NAME \
--clone-uri=REPO_URI \
--connection=CONNECTION_NAME \
--location=REGION
Ganti kode berikut:
- REPO_NAME: nama untuk link repositori Anda.
- REPO_URI: link ke repositori Anda.
Contoh,
https://github.com/cloud-build/test-repo.git. - CONNECTION_NAME: nama koneksi Anda.
- REGION: region untuk koneksi Anda.
Developer Connect membuat link repositori.
Untuk mencantumkan repositori tertaut, jalankan perintah
developer-connect connections git-repository-links list.
Jika Anda menyiapkan Gemini Code Assist, lanjutkan prosesnya dengan mengikuti langkah-langkah di Mengonfigurasi dan menggunakan penyesuaian kode Gemini Code Assist.
Berbagi data
Konten dari Google Cloud resource yang ditautkan ke koneksi ini mungkin ditransfer ke GitHub. Pernyataan ini berlaku untuk semua resource yang ada dan mendatang yang menggunakan koneksi ini. Untuk berhenti berbagi informasi dengan GitHub, hapus koneksi Developer Connect di konsol atau gcloud CLI, dan cabut akses di GitHub. Google Cloud
Langkah berikutnya
- Selesaikan penyiapan penyesuaian kode Gemini Code Assist.
- Pelajari cara Gemini Code Assist membantu Anda mempercepat pengembangan software.
- Jelajahi integrasi lain yang tersedia melalui Developer Connect.