Menghubungkan ke repositori Git pihak ketiga

Dokumen ini menunjukkan cara menautkan repositori Dataform ke repositori Git jarak jauh pihak ketiga.

Setelah Anda menautkan repositori, perubahan yang Anda buat di ruang kerja pengembangan formulir Data dapat dikirim dan diambil dari repositori Git jarak jauh.

Anda dapat menautkan repositori Dataform ke repositori Git jarak jauh yang dihosting oleh penyedia Git berikut:

  • Layanan DevOps Azure

  • Bitbucket

  • GitHub

  • GitLab

Untuk menautkan repositori jarak jauh pihak ketiga ke repositori Dataform, Anda harus mengautentikasinya terlebih dahulu. Anda dapat mengautentikasi repositori jarak jauh di Dataform melalui HTTPS atau SSH.

Untuk repositori jarak jauh GitHub dan GitLab, Anda dapat menggunakan HTTPS atau SSH untuk autentikasi. Untuk Azure DevOps Services dan repositori jarak jauh Bitbucket, Anda harus menggunakan SSH.

Sebelum memulai

Jika Anda belum melakukannya, buat repositori Dataform. Anda memerlukannya nanti untuk membagikan rahasia ke akun layanan Dataform Anda.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menautkan repositori Dataform ke repositori Git jarak jauh, minta administrator untuk memberi Anda peran IAM Admin Dataform (roles/dataform.admin) pada repositori. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mengautentikasi repositori jarak jauh melalui HTTPS

Anda dapat mengautentikasi repositori GitHub dan GitLab melalui HTTPS dengan membuat secret Secret Manager menggunakan token akses pribadi, dan membagikan secret tersebut ke akun layanan Dataform Anda.

Dataform kemudian menggunakan token akses untuk login ke penyedia Git Anda agar dapat melakukan commit untuk perubahan atas nama developer. Dataform membuat commit ini menggunakan alamat email Google Cloud developer sehingga Anda dapat mengetahui siapa yang membuat setiap commit.

Untuk mengautentikasi repositori GitHub, buat token akses pribadi klasik atau token akses pribadi mendetail yang memungkinkan Anda menyesuaikan izin token.

Untuk mengautentikasi repositori GitLab, buat token akses pribadi klasik.

Untuk mengautentikasi repositori GitHub atau GitLab dalam Dataform melalui HTTPS, ikuti langkah-langkah berikut:

  1. Di GitHub atau GitLab, buat token akses pribadi.

  2. Saat Anda membuat token akses pribadi GitHub, lakukan hal berikut:

    1. Beri Dataform izin repo.

    2. Pastikan untuk menetapkan waktu habis masa berlaku token sesuai dengan kebutuhan Anda.

    3. Jika organisasi Anda menggunakan single sign-on (SSO) SAML, otorisasi token.

  3. Opsional: Saat Anda membuat token akses pribadi mendetail GitHub, 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. Pastikan untuk menetapkan waktu habis masa berlaku token sesuai dengan kebutuhan Anda.

    4. Jika organisasi Anda menggunakan single sign-on (SSO) SAML, otorisasi token.

  4. Saat Anda membuat token akses pribadi GitLab, lakukan hal berikut:

    1. Beri nama token dataform.

      Token akses pribadi GitLab harus diberi nama dataform.

    2. Beri Dataform izin api, read_repository, dan write_repository.

    3. Pastikan untuk menetapkan waktu habis masa berlaku token sesuai dengan kebutuhan Anda.

  5. Di Secret Manager, buat secret yang berisi token akses pribadi untuk terhubung ke penyedia Git Anda.

  6. Berikan akses ke rahasia tersebut ke akun layanan Dataform Anda.

    Akun layanan Dataform Anda menggunakan format berikut:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Saat memberikan akses, pastikan untuk memberikan peran roles/secretmanager.secretAccessor ke akun layanan Dataform Anda.

Dataform menggunakan token akses untuk login ke penyedia Git Anda guna melakukan commit untuk perubahan atas nama developer. Dataform membuat commit ini menggunakan alamat email Google Cloud developer sehingga Anda dapat mengetahui siapa yang membuat setiap commit.

Mengautentikasi repositori jarak jauh melalui SSH

Anda dapat mengautentikasi repositori Azure DevOps Services, Bitbucket, GitHub, dan GitLab melalui SSH dengan membuat kunci SSH dan rahasia Secret Manager.

Kunci SSH terdiri dari kunci SSH publik dan kunci SSH pribadi. Anda perlu membagikan kunci SSH publik dengan penyedia Git Anda, dan membuat rahasia Secret Manager dengan kunci SSH pribadi tersebut. Kemudian, bagikan rahasia itu dengan akun layanan Dataform Anda.

Dataform menggunakan rahasia dengan kunci SSH pribadi 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 mengautentikasi repositori Azure DevOps Services, Bitbucket, GitHub, atau GitLab dalam Dataform melalui SSH, ikuti langkah-langkah berikut:

  1. Di Azure DevOps Services, Bitbucket, GitHub, atau GitLab, buat kunci SSH.

  2. Upload kunci SSH publik ke akun Git pihak ketiga Anda.

  3. Di Secret Manager, buat secret dengan kunci SSH pribadi sebagai nilai secret.

  4. Berikan akses ke rahasia tersebut ke akun layanan Dataform Anda.

    Akun layanan Dataform Anda menggunakan format berikut:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Saat memberikan akses, pastikan untuk memberikan peran roles/secretmanager.secretAccessor ke akun layanan Dataform Anda.

Menghubungkan repositori Dataform

Untuk menautkan repositori Dataform ke repositori Git jarak jauh, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Dataform.

    Buka Dataform

  2. Pilih repositori yang ingin Anda hubungkan.

  3. Di halaman repositori, klik Settings > Connect with Git.

  4. Di panel Link to remote repository, di kolom Remote Git repository URL, masukkan URL repositori Git jarak jauh, yang diakhiri dengan .git.

    Untuk autentikasi HTTPS, URL repositori Git jarak jauh tidak boleh berisi nama pengguna atau sandi.

    Untuk autentikasi SSH, URL repositori Git jarak jauh menggunakan salah satu format berikut:

    • URL absolut: ssh://git@{host_name}[:{port}]/{repository_path}, port bersifat opsional.
    • URL mirip SCP: git@{host_name}:{repository_path}.
  5. Di kolom Default remote cabang name, masukkan nama cabang pengembangan utama dari repositori Git jarak jauh.

  6. Di drop-down Secret, pilih rahasia Anda untuk repositori Git jarak jauh.

  7. Jika Anda menggunakan autentikasi SSH untuk repositori jarak jauh, di kolom SSH public host key value, masukkan satu kunci host publik dari penyedia Git Anda.

    Nilai kunci host publik SSH harus dalam format file known_hosts. Nilai harus berisi algoritme dan kunci publik yang dienkode dalam format base64, tetapi tanpa nama host atau IP, dalam format berikut:

      ALGORITHM BASE64_KEY_VALUE
    
  8. 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 Anda edit.

  3. Di halaman repositori, klik Settings > Edit Git connection.

  4. Di panel Link to remote repository, edit salah satu opsi berikut:

    1. Di kolom URL repositori Git Jarak Jauh, edit URL repositori Git jarak jauh yang tertaut.

      URL repositori Git jarak jauh tidak boleh berisi nama pengguna atau sandi.

    2. Di kolom Default remote branch name, edit nama cabang pengembangan utama dari repositori Git jarak jauh.

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

    4. Jika Anda menggunakan autentikasi SSH untuk repositori jarak jauh, di kolom SSH public host key value, masukkan kunci host publik penyedia Git Anda.

      Nilai kunci host publik SSH harus dalam format file host yang dikenal. Nilai harus berisi algoritme dan kunci publik yang dienkode dalam format base64, tetapi tanpa nama host atau IP, dalam format berikut:

       ALGORITHM BASE64_KEY_VALUE
      
  5. Klik Perbarui.

Langkah selanjutnya