Dokumen ini menunjukkan cara menghubungkan repositori jarak jauh ke repositori Dataform. Setelah menghubungkan repositori, perubahan yang Anda buat di ruang kerja pengembangan Dataform dapat dikirim ke dan diambil dari repositori Git jarak jauh.
Anda dapat menghubungkan repositori jarak jauh melalui HTTPS atau SSH.
Tabel berikut mencantumkan penyedia Git dan metode koneksi yang didukung yang tersedia untuk repositorinya:
Penyedia Git | Metode koneksi |
---|---|
Layanan Azure DevOps | SSH |
Bitbucket | SSH |
GitHub | SSH atau HTTPS |
GitLab | SSH atau HTTPS |
Sebelum memulai
- Jika organisasi atau project Anda membatasi repositori Git jarak jauh
dengan Kebijakan Organisasi
dataform.restrictGitRemotes
, pastikan bahwa repositori Git jarak jauh ditambahkan ke daftar yang diizinkan dalam kebijakan sebelum Anda membuat repositori Dataform yang ingin dihubungkan ke repositori jarak jauh. Untuk informasi selengkapnya, lihat Membatasi repositori jarak jauh. - Pilih atau buat repositori Dataform. Anda memerlukannya nanti untuk membagikan secret dengan akun layanan Dataform default.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna menghubungkan repositori Dataform ke repositori Git jarak jauh,
minta administrator untuk memberi Anda
peran IAM Dataform Admin (roles/dataform.admin
) di repositori.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menghubungkan repositori jarak jauh melalui SSH
Untuk menghubungkan repositori jarak jauh melalui SSH, Anda perlu membuat kunci SSH dan secret Pengelola Secret. Kunci SSH terdiri dari kunci SSH publik dan kunci SSH pribadi. Anda harus membagikan kunci SSH publik kepada penyedia Git, dan membuat secret Secret Manager dengan kunci SSH pribadi. Kemudian, bagikan secret dengan akun layanan Dataform default Anda.
Dataform menggunakan secret dengan kunci SSH pribadi untuk login ke penyedia Git Anda guna melakukan perubahan atas nama developer. Dataform membuat commit ini menggunakan alamat email Google Cloud developer sehingga Anda dapat mengetahui siapa yang membuat setiap commit.
Untuk menghubungkan repositori jarak jauh ke repositori Dataform melalui SSH, ikuti langkah-langkah berikut:
Di penyedia Git Anda, lakukan hal berikut:
Layanan Azure DevOps
- Di Azure DevOps Services, buat kunci SSH pribadi.
- Upload kunci SSH publik ke repositori Layanan Azure DevOps Anda.
Bitbucket
- Di Bitbucket, buat kunci SSH pribadi.
- Upload kunci SSH publik ke repositori Bitbucket Anda.
GitHub
- Di GitHub, buat kunci SSH pribadi.
- Upload kunci SSH publik GitHub ke repositori GitHub Anda.
GitLab
- Di GitLab, buat kunci SSH pribadi.
- Upload kunci SSH publik GitLab ke repositori GitLab Anda.
Di Secret Manager, buat secret dan tetapkan kunci SSH pribadi Anda sebagai nilai secret.
Berikan akses ke secret ke akun layanan Dataform default Anda.
Akun layanan Dataform default Anda memiliki format berikut:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Berikan peran
roles/secretmanager.secretAccessor
ke akun layanan.
Di konsol Google Cloud, buka halaman Dataform.
Pilih repositori Dataform yang ingin Anda hubungkan ke repositori jarak jauh.
Di halaman repositori, klik Setelan > Hubungkan dengan Git.
Di panel Link to remote repository, di kolom Remote Git repository URL, masukkan URL repositori Git jarak jauh, yang diakhiri dengan
.git
.URL repositori Git jarak jauh harus dalam salah satu format berikut:
- URL absolut:
ssh://git@{host_name}[:{port}]/{repository_path}
,port
bersifat opsional. - URL seperti SCP:
git@{host_name}:{repository_path}
.
- URL absolut:
Di kolom Default remote branch name, masukkan nama cabang pengembangan utama repositori Git jarak jauh.
Di menu drop-down Secret, pilih secret Anda untuk repositori Git jarak jauh.
Di kolom SSH public host key value, masukkan kunci host publik penyedia GitHub Anda.
Layanan Azure DevOps
Nilai kunci host publik SSH harus dalam format file
known_hosts
. Nilai harus berisi algoritma dan kunci publik yang dienkode dalam formatbase64
, tetapi tanpa nama host atau IP, dalam format berikut:ALGORITHM BASE64_KEY_VALUE
Untuk mengambil kunci host publik Layanan Azure DevOps, jalankan perintah
ssh-keyscan -t rsa ssh.dev.azure.com
di terminal.Bitbucket
Nilai kunci host publik SSH harus dalam format file
known_hosts
. Nilai harus berisi algoritma dan kunci publik yang dienkode dalam formatbase64
, tetapi tanpa nama host atau IP, dalam format berikut:ALGORITHM BASE64_KEY_VALUE
Untuk mengambil kunci host publik Bitbucket, lihat Mengonfigurasi SSH.
GitHub
Nilai kunci host publik SSH harus dalam format file
known_hosts
. Nilai harus berisi algoritma dan kunci publik yang dienkode dalam formatbase64
, tetapi tanpa nama host atau IP, dalam format berikut:ALGORITHM BASE64_KEY_VALUE
Untuk mengambil kunci host publik GitHub, lihat sidik jari kunci SSH GitHub.
GitLab
Nilai kunci host publik SSH harus dalam format file
known_hosts
. Nilai harus berisi algoritma dan kunci publik yang dienkode dalam formatbase64
, tetapi tanpa nama host atau IP, dalam format berikut:ALGORITHM BASE64_KEY_VALUE
Untuk mengambil kunci host publik GitLab, lihat entri
known_hosts
SSH.Klik Tautkan.
Menghubungkan repositori jarak jauh melalui HTTPS
Untuk menghubungkan repositori jarak jauh melalui HTTPS, Anda perlu membuat secret Secret Manager dengan token akses pribadi, dan membagikan secret tersebut dengan akun layanan Dataform default Anda.
Dataform kemudian menggunakan token akses untuk login ke penyedia Git Anda guna meng-commit perubahan atas nama developer. Dataform membuat commit ini menggunakan alamat email Google Cloud developer sehingga Anda dapat mengetahui siapa yang membuat setiap commit.
Untuk menghubungkan repositori jarak jauh ke repositori Dataform melalui HTTPS, ikuti langkah-langkah berikut:
Di penyedia Git Anda, lakukan hal berikut:
GitHub
Di GitHub, buat token akses pribadi terperinci atau token akses pribadi klasik.
- Untuk token akses pribadi GitHub yang terperinci, lakukan hal berikut:
Pilih akses repositori hanya ke repositori yang dipilih, lalu pilih repositori yang ingin Anda hubungkan.
Memberikan akses baca dan tulis pada konten repositori.
Tetapkan waktu habis masa berlaku token yang sesuai dengan kebutuhan Anda.
- Untuk token akses pribadi GitHub klasik, lakukan hal berikut:
Berikan izin
repo
ke Dataform.Tetapkan waktu habis masa berlaku token yang sesuai dengan kebutuhan Anda.
Jika organisasi Anda menggunakan single sign-on (SSO) SAML, izinkan token.
GitLab
Di GitLab, buat token akses pribadi GitLab.
Beri nama token
dataform
.Token akses pribadi GitLab harus diberi nama
dataform
.Berikan izin
api
,read_repository
, danwrite_repository
ke Dataform.Tetapkan waktu habis masa berlaku token yang sesuai dengan kebutuhan Anda.
Di Secret Manager, buat secret yang berisi token akses pribadi repositori jarak jauh Anda.
Berikan akses ke secret ke akun layanan Dataform default Anda.
Akun layanan Dataform default Anda memiliki format berikut:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- Berikan
peran
roles/secretmanager.secretAccessor
ke akun layanan.
- Berikan
peran
Di konsol Google Cloud, buka halaman Dataform.
Pilih repositori Dataform yang ingin Anda hubungkan ke repositori jarak jauh.
Di halaman repositori, klik Setelan > Hubungkan dengan Git.
Di panel Link to remote repository, di kolom Remote Git repository URL, masukkan URL repositori Git jarak jauh, yang diakhiri dengan
.git
.URL repositori Git jarak jauh tidak boleh berisi nama pengguna atau sandi.
Di kolom Default remote branch name, masukkan nama cabang pengembangan utama repositori Git jarak jauh.
Di menu drop-down Secret, pilih secret Anda untuk repositori Git jarak jauh.
Klik Tautkan.
Mengedit koneksi repositori jarak jauh
Untuk mengedit koneksi antara repositori Dataform dan repositori Git jarak jauh, ikuti langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Dataform.
Klik repositori yang ingin diedit.
Di halaman repositori, klik Setelan > Edit koneksi Git.
Di panel Tautkan ke repositori jarak jauh, edit setelan koneksi.
Klik Perbarui.
Langkah selanjutnya
Untuk mempelajari repositori Dataform lebih lanjut, lihat Pengantar repositori.
Untuk membuat ruang kerja pengembangan, lihat Membuat ruang kerja.
Untuk mempelajari cara memecahkan masalah terkait koneksi repositori jarak jauh, lihat Memecahkan masalah Dataform.