Menghubungkan ke repositori Git pihak ketiga

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

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

  1. Di penyedia Git Anda, lakukan hal berikut:

    Layanan Azure DevOps

    1. Di Azure DevOps Services, buat kunci SSH pribadi.
    2. Upload kunci SSH publik ke repositori Layanan Azure DevOps Anda.

    Bitbucket

    1. Di Bitbucket, buat kunci SSH pribadi.
    2. Upload kunci SSH publik ke repositori Bitbucket Anda.

    GitHub

    1. Di GitHub, buat kunci SSH pribadi.
    2. Upload kunci SSH publik GitHub ke repositori GitHub Anda.

    GitLab

    1. Di GitLab, buat kunci SSH pribadi.
    2. Upload kunci SSH publik GitLab ke repositori GitLab Anda.
  2. Di Secret Manager, buat secret dan tetapkan kunci SSH pribadi Anda sebagai nilai secret.

    1. 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
      
    2. Berikan peran roles/secretmanager.secretAccessor ke akun layanan.

  3. Di konsol Google Cloud, buka halaman Dataform.

    Buka Dataform

  4. Pilih repositori Dataform yang ingin Anda hubungkan ke repositori jarak jauh.

  5. Di halaman repositori, klik Setelan > Hubungkan dengan Git.

  6. 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}.
  7. Di kolom Default remote branch name, masukkan nama cabang pengembangan utama repositori Git jarak jauh.

  8. Di menu drop-down Secret, pilih secret Anda untuk repositori Git jarak jauh.

  9. 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 format base64, 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 format base64, 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 format base64, 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 format base64, tetapi tanpa nama host atau IP, dalam format berikut:

    ALGORITHM BASE64_KEY_VALUE
    

    Untuk mengambil kunci host publik GitLab, lihat entri known_hosts SSH.

  10. 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:

  1. Di penyedia Git Anda, lakukan hal berikut:

    GitHub

    1. Di GitHub, buat token akses pribadi terperinci atau token akses pribadi klasik.

      • Untuk token akses pribadi GitHub yang terperinci, lakukan hal berikut:
      1. Pilih akses repositori hanya ke repositori yang dipilih, lalu pilih repositori yang ingin Anda hubungkan.

      2. Memberikan akses baca dan tulis pada konten repositori.

      3. Tetapkan waktu habis masa berlaku token yang sesuai dengan kebutuhan Anda.

      • Untuk token akses pribadi GitHub klasik, lakukan hal berikut:
      1. Berikan izin repo ke Dataform.

      2. Tetapkan waktu habis masa berlaku token yang sesuai dengan kebutuhan Anda.

    2. Jika organisasi Anda menggunakan single sign-on (SSO) SAML, izinkan token.

    GitLab

    1. Di GitLab, buat token akses pribadi GitLab.

    2. Beri nama token dataform.

      Token akses pribadi GitLab harus diberi nama dataform.

    3. Berikan izin api, read_repository, dan write_repository ke Dataform.

    4. Tetapkan waktu habis masa berlaku token yang sesuai dengan kebutuhan Anda.

  2. Di Secret Manager, buat secret yang berisi token akses pribadi repositori jarak jauh Anda.

  3. 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
    
    1. Berikan peran roles/secretmanager.secretAccessor ke akun layanan.
  4. Di konsol Google Cloud, buka halaman Dataform.

    Buka Dataform

  5. Pilih repositori Dataform yang ingin Anda hubungkan ke repositori jarak jauh.

  6. Di halaman repositori, klik Setelan > Hubungkan dengan Git.

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

  8. Di kolom Default remote branch name, masukkan nama cabang pengembangan utama repositori Git jarak jauh.

  9. Di menu drop-down Secret, pilih secret Anda untuk repositori Git jarak jauh.

  10. Klik Tautkan.

Mengedit koneksi repositori jarak jauh

Untuk mengedit koneksi antara repositori Dataform dan repositori Git jarak jauh, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Dataform.

    Buka Dataform

  2. Klik repositori yang ingin diedit.

  3. Di halaman repositori, klik Setelan > Edit koneksi Git.

  4. Di panel Tautkan ke repositori jarak jauh, edit setelan koneksi.

  5. Klik Perbarui.

Langkah selanjutnya