Petunjuk ini ditujukan untuk developer aplikasi, administrator platform, dan pengelola keamanan yang ingin menggunakan repositori kode sumber GitLab Enterprise dengan Google. Secara khusus, Anda dapat menggunakan repositori GitLab 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 GitLab Enterprise.
Untuk membantu menjaga keamanan pekerjaan tim Anda, sebaiknya selesaikan tugas dalam panduan ini menggunakan akun layanan atau akun yang dibagikan oleh tim Anda, bukan akun pribadi.
- Pastikan Anda memiliki repositori GitLab Enterprise, atau memiliki izin tingkat admin di repositori bersama.
- Pastikan Anda memiliki resource layanan Service Directory untuk
terhubung ke jaringan pribadi, atau
buat resource layanan Service Directory. Anda dapat membuat resource layanan Service Directory di project yang sama dengan yang Anda gunakan dengan Developer Connect, atau Anda dapat menggunakan project yang berbeda.
Untuk koneksi ke jaringan di luar Google Cloud, Anda mungkin perlu mengonfigurasi Service Directory secara berbeda. Lihat bagian Menggunakan Service Directory 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.
Persyaratan host
Jika Anda belum menginstal instance Server GitLab Enterprise Edition, lihat panduan penginstalan dari GitLab Enterprise Edition untuk mengetahui petunjuknya.
Saat mengikuti petunjuk untuk menginstal instance Server GitLab Enterprise Edition, perhatikan hal berikut:
Anda harus mengonfigurasi host untuk menangani protokol
HTTPS. Host yang dikonfigurasi dengan protokolHTTPtidak didukung.Anda harus mengonfigurasi host dengan URL yang sama yang digunakan untuk menjangkau host Anda dari Google Cloud. Untuk mempelajari lebih lanjut, lihat dokumentasi GitLab tentang mengonfigurasi URL eksternal.
Peran 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 Koneksi Developer (
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 Secret Manager Admin (
roles/secretmanager.admin) di Akun Layanan Developer Connect. -
Jika Anda berencana menggunakan konsol Google Cloud 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 Service Directory
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 Service Directory 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: Google Cloud Project ID Anda.
- SERVICE_DIRECTORY_RESOURCE_PROJECT_ID: ID project untuk project yang berisi resource layanan Service Directory Anda. Google Cloud
Berikan izin agar Service Directory dapat mengakses resource jaringan VPC Anda. Resource jaringan dapat berada di project yang berbeda.
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
Service Directory 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 memungkinkan Anda merutekan rentang alamat IP Service Directory 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 Service Directory, pastikan untuk menggunakan alamat IP aturan penerusan load balancer, bukan alamat IP host Anda. Anda dapat menggunakan load balancer HTTPS internal atau load balancer internal transmission control protocol (TCP) saat membuat endpoint.
Saat membuat load balancer TCP, pertimbangkan hal-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 hibrida.
Untuk mempelajari lebih lanjut cara membuat load balancer HTTPS, lihat Menyiapkan Load Balancer Aplikasi internal dengan konektivitas hibrida. Untuk mempelajari lebih lanjut cara membuat load balancer TCP, lihat Menyiapkan Load Balancer Jaringan proxy internal regional dengan konektivitas hibrida.
Membuat token akses
Untuk membuat token akses di GitLab, selesaikan langkah-langkah berikut:
Ikuti petunjuk dalam dokumentasi GitLab untuk membuat token akses pribadi, token akses grup, atau token akses project dengan izin berikut:
- Satu token dengan cakupan
apiuntuk menghubungkan dan memutuskan hubungan repositori. - Satu token dengan cakupan
read_apiuntuk mengizinkan Developer Connect membaca kode sumber di repositori Anda. - Untuk token akses grup dan token akses project, token harus memiliki peran Pengelola atau yang lebih tinggi.
- Satu token dengan cakupan
Membuat koneksi
Bagian ini menjelaskan cara membuat koneksi antara Developer Connect dan GitLab Enterprise. Jika menggunakan konsol Google Cloud , Anda juga dapat mulai menambahkan link ke repositori setelah selesai menyiapkan koneksi.
Untuk membuat koneksi GitLab Enterprise baru, pilih salah satu opsi berikut:
Konsol
Mulai koneksi dengan menyelesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka Developer Connect.
Developer Connect akan menampilkan halaman Repositori Git.
- Jika Anda melihat daftar penyedia pengelolaan kode sumber: Mulai konfigurasi koneksi pertama Anda dengan memilih penyedia pengelolaan kode sumber. Klik Hubungkan di kartu GitLab Enterprise.
Jika Anda melihat tabel yang mencantumkan koneksi yang ada: Tetapkan penyedia pengelolaan kode sumber dengan mengklik Buat koneksi > GitLab Enterprise.
Halaman Buat Koneksi akan terbuka.
Untuk Region, pilih region untuk resource koneksi Anda.
- Untuk Name, masukkan nama untuk koneksi baru Anda.
Di bagian Token Akses, masukkan token untuk akun Anda:
- Token akses API: Masukkan token akses dengan cakupan
api. - Token akses API baca: Masukkan token akses dengan cakupan
read_apibaca.
Anda bertanggung jawab untuk memastikan token GitLab Anda tetap valid. Token GitLab memiliki masa berlaku maksimum 365 hari, kecuali jika ditentukan lain oleh pembuat token atau administrator. Untuk mempelajari cara mengelola setelan dan notifikasi masa berlaku token, lihat dokumentasi GitLab tentang token akses pribadi, token akses grup, dan token akses project.
- Token akses API: Masukkan token akses dengan cakupan
Untuk URL Host, masukkan URL host yang ingin Anda hubungkan.
Klik Tampilkan lebih banyak untuk melihat setelan konfigurasi opsional.
Kotak centang Aktifkan proxy Developer Connect dicentang secara default sehingga Developer Connect dapat bertindak sebagai proxy untuk panggilan Git ke GitLab 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 lebih dari 10 KB dan harus dalam format PEM (.pem, .cer, atau .crt). Jika bagian ini dibiarkan kosong, sekumpulan sertifikat default akan digunakan.
Di bagian Layanan Service Directory, pilih lokasi layanan Anda:
- Dalam project
your-project - Dalam project lain
- Masukkan secara manual
Jika Anda memilih Dalam project lain atau Masukkan secara manual, tentukan project ID Google Cloud Anda. Pilih project di menu drop-down, atau masukkan project ID secara manual.
- Dalam project
Region: Pilih region layanan Service Directory 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 Service Directory di namespace Anda.
Opsional: Di bagian Encryption, pilih kunci CMEK untuk mengenkripsi secret Secret Manager yang dibuat Developer Connect.
Klik Lanjutkan.
Setelah koneksi dibuat, halaman Tautkan repositori akan muncul.
Selesaikan langkah-langkah berikut untuk menautkan repositori ke koneksi Anda:
Dalam daftar repositori yang tersedia, pilih repositori yang ingin Anda gunakan.
Klik Oke.
Klik Tautkan.
Koneksi Anda ditambahkan ke halaman Connections dan link repositori Anda ditambahkan ke halaman Repositories di konsol Google Cloud . 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
Buat secret webhook di Secret Manager dengan menjalankan perintah berikut, dengan WEBHOOK_SECRET_NAME adalah nama untuk secret webhook Anda:
cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAMESimpan token akses Anda di Secret Manager dengan menjalankan perintah berikut:
gcloud secrets create API_SECRET_NAME echo -n API_SECRET_DATA | gcloud secrets versions add API_SECRET_NAME --data-file=- gcloud secrets create READ_SECRET_NAME echo -n READ_SECRET_DATA | gcloud secrets versions add READ_SECRET_NAME --data-file=-Ganti kode berikut:
- API_SECRET_NAME: nama untuk secret yang menyimpan
token dengan cakupan
api. - API_SECRET_DATA: token dengan cakupan
api, serupa denganglpat-XXXXXXXXXXXXXXXX. - READ_SECRET_NAME: nama untuk secret yang menyimpan
token dengan cakupan
read_api. - READ_SECRET_DATA: token dengan cakupan
read_api, serupa denganglpat-XXXXXXXXXXXXXXXX.
- API_SECRET_NAME: nama untuk secret yang menyimpan
token dengan cakupan
Jalankan perintah gcloud developer-connect connections create untuk membuat koneksi ke GitLab Enterprise:
gcloud beta developer-connect connections create CONNECTION_NAME \ --location=REGION \ --gitlab-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \ --gitlab-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/API_SECRET_NAME/versions/VERSION \ --gitlab-enterprise-config-host-uri=HOST_URI --gitlab-enterprise-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION --git-proxy-config-enabledGanti kode berikut:
- CONNECTION_NAME: nama koneksi Anda.
- REGION: region untuk koneksi Anda.
- PROJECT_ID: Project ID Google Cloud Anda.
- READ_SECRET_NAME: nama secret
Secret Manager yang berisi token
dengan cakupan
read_api. - API_SECRET_NAME: nama secret
Secret Manager yang berisi token
dengan cakupan
api. - VERSION: nomor versi setiap secret. Ini
dapat berupa
latestuntuk menggunakan nomor versi terbaru. - HOST_URI: URI untuk host yang ingin Anda hubungkan.
- WEBHOOK_SECRET_NAME: nama secret Secret Manager yang berisi secret webhook Anda.
--git-proxy-config-enabledadalah tanda opsional yang memungkinkan Developer Connect bertindak sebagai proxy untuk panggilan Git ke GitLab Enterprise. Anda harus mengaktifkan fitur ini saat menjalankan penyesuaian kode Gemini Code Assist pada repositori kode sumber GitLab Enterprise yang dihosting di jaringan pribadi.--gitlab-enterprise-config-ssl-ca-certificateadalah tanda opsional untuk menambahkan sertifikat SSL, dalam format$HOME/my-ssl-ca.txt.
Developer Connect menyelesaikan koneksi ke GitLab. Selanjutnya, tautkan ke repositori.
Menautkan ke repositori menggunakan koneksi yang ada
Setelah membuat koneksi ke GitLab 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 GitLab Enterprise yang ada, pilih salah satu opsi berikut:
Konsol
Buat link ke repositori dengan menyelesaikan langkah-langkah berikut:
Buka halaman Repositori di Google Cloud konsol.
Klik Link repository.
Panel Tautkan repositori Git akan terbuka.
Di daftar koneksi, pilih koneksi.
Klik Lanjutkan.
Di daftar repositori, pilih repositori yang ingin Anda tautkan.
Developer Connect menampilkan nama yang disarankan untuk resource repositori Anda.
Pilih opsi penamaan resource repositori:
- Dibuat: Gunakan nama resource repositori yang dibuat.
- Manual: Masukkan nama Anda sendiri.
Klik Create.
Developer Connect membuat link repositori dan menampilkannya di konsol Google Cloud .
gcloud
Tautkan ke repositori GitLab dengan menjalankan perintah berikut:
gcloud beta 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, mirip
dengan
https://gitlab.com/my-project/test-repo.git. - CONNECTION_NAME: nama koneksi Anda.
- REGION: region 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.
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.