Menghubungkan ke repositori Git pihak ketiga

Dokumen ini menunjukkan cara menghubungkan repositori jarak jauh ke repositori Dataform. Setelah Anda menghubungkan repositori, perubahan yang Anda lakukan di ruang kerja pengembangan Dataform dapat didorong ke dan ditarik dari repositori Git jarak jauh.

Anda dapat menghubungkan repositori jarak jauh melalui HTTPS atau SSH.

Tabel berikut mencantumkan penyedia Git yang didukung dan metode koneksi yang tersedia untuk repositori mereka:

Penyedia Git Metode koneksi
Layanan Azure DevOps SSH
Bitbucket Developer Connect (direkomendasikan), SSH
GitHub Developer Connect (direkomendasikan), SSH, atau HTTPS
GitLab Developer Connect (direkomendasikan), SSH, atau HTTPS

Sebelum memulai

  1. Jika organisasi atau project Anda membatasi repositori Git jarak jauh dengan Kebijakan Organisasi dataform.restrictGitRemotes, pastikan repositori Git jarak jauh ditambahkan ke daftar yang diizinkan dalam kebijakan sebelum Anda membuat repositori Dataform yang ingin Anda hubungkan ke repositori jarak jauh. Untuk mengetahui informasi selengkapnya, lihat Membatasi repositori jarak jauh.
  2. Pilih atau buat repositori Dataform. Anda memerlukan repositori nanti untuk membagikan rahasia dengan agen layanan Dataform default Anda.

  3. Pastikan Anda memiliki izin yang diperlukan di penyedia Git dan repositori Dataform Anda berada di region yang didukung.

  4. Aktifkan Developer Connect API.

  5. Jika Anda menghubungkan Developer Connect ke repositori Bitbucket, pastikan token akses pemberi otorisasi Anda memiliki akses tulis ke repositori Anda sehingga Dataform dapat mengirimkan perubahan. Untuk mengetahui informasi selengkapnya, lihat Membuat token akses.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk menghubungkan repositori Dataform ke repositori Git jarak jauh, minta administrator untuk memberi Anda peran IAM berikut pada repositori:

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.

Untuk menghubungkan repositori jarak jauh menggunakan Developer Connect, berikan peran Developer Connect Token Accessor (roles/developerconnect.tokenAccessor) dan Developer Connect Git Proxy User (roles/developerconnect.gitProxyUser) kepada agen layanan Dataform default. ID agen layanan Dataform default Anda menggunakan format berikut:

service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Menghubungkan repositori jarak jauh menggunakan Developer Connect

Developer Connect menyederhanakan integrasi penyedia Git eksternal dengan repositori Dataform dengan menyediakan antarmuka terpandu yang menghilangkan kebutuhan akan pengelolaan rahasia manual.

Dengan menggunakan Developer Connect, Anda dapat terhubung ke repositori jarak jauh di jaringan yang dihosting secara pribadi—seperti lingkungan lokal atau virtual private cloud (VPC)—tanpa mengeksposnya ke internet publik.

Mempersiapkan koneksi jaringan pribadi

Jika Anda terhubung ke repositori jarak jauh di jaringan pribadi, pastikan Anda telah menyiapkan informasi dan resource berikut sebelum memulai penyiapan:

  • Namespace dan nama layanan Service Directory yang mengarah ke host Git internal Anda.
  • Sertifikat otoritas sertifikasi dalam format PEM (dengan ukuran maksimum 10 KB) jika host Anda menggunakan otoritas sertifikasi pribadi atau yang ditandatangani sendiri.
  • Verifikasi bahwa sertifikat SSL host Git Anda menyertakan nama alternatif subjek (SAN) yang cocok dengan URI host.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi koneksi untuk jaringan yang dihosting secara pribadi, lihat artikel berikut:

Membuat koneksi Developer Connect baru

Untuk menghubungkan repositori jarak jauh ke koneksi Developer Connect baru, pilih salah satu opsi berikut:

Bitbucket

  1. Di konsol Google Cloud , buka halaman Dataform.

    Buka Dataform

  2. Pilih repositori Anda.

  3. Buka Setelan, lalu klik Hubungkan dengan Git.

  4. Di panel Link to remote repository, di bagian Remote Git repository protocol, pilih Developer Connect.

  5. Di menu pemilihan repositori, klik Tautkan repositori baru.

  6. Di panel Link Git repositories via Developer Connect, pilih Create new connection.

  7. Pilih Bitbucket sebagai penyedia Anda.

  8. Tentukan region koneksi dan nama koneksi.

  9. Berikan nama ruang kerja, token akses pemberi otorisasi, dan token akses baca.

  10. Klik Lanjutkan, lalu pilih repositori jarak jauh yang akan ditautkan dan klik Tautkan.

  11. Di Dataform, pilih repositori jarak jauh dan cabang default Anda.

  12. Untuk menyelesaikan penyiapan, klik Tautkan.

GitHub

  1. Di konsol Google Cloud , buka halaman Dataform.

    Buka Dataform

  2. Pilih repositori Anda.

  3. Buka Setelan, lalu klik Hubungkan dengan Git.

  4. Di panel Link to remote repository, di bagian Remote Git repository protocol, pilih Developer Connect.

  5. Di menu pemilihan repositori, klik Tautkan repositori baru.

  6. Di panel Link Git repositories via Developer Connect, pilih Create new connection.

  7. Pilih GitHub sebagai penyedia Anda.

  8. Tentukan region koneksi dan nama koneksi.

  9. Untuk memicu alur autentikasi OAuth, klik Lanjutkan, lalu lakukan hal berikut:

    1. Klik Saya mengerti dan lanjutkan.
    2. Pilih Install the GitHub App on another GitHub account dan ikuti perintah untuk memberi otorisasi akses ke akun GitHub dan repositori tertentu Anda.
    3. Pilih akun tempat Anda ingin menginstal aplikasi GitHub Dataform.
    4. Di bagian Repository access, pilih apakah Anda ingin memberikan akses ke semua repositori atau hanya beberapa repositori.
    5. Klik Simpan.
  10. Pilih repositori jarak jauh yang akan ditautkan, lalu klik Tautkan.

  11. Di Dataform, pilih repositori jarak jauh dan cabang default Anda.

  12. Untuk menyelesaikan penyiapan, klik Tautkan.

GitLab

  1. Di konsol Google Cloud , buka halaman Dataform.

    Buka Dataform

  2. Pilih repositori Anda.

  3. Buka Setelan, lalu klik Hubungkan dengan Git.

  4. Di panel Link to remote repository, di bagian Remote Git repository protocol, pilih Developer Connect.

  5. Di menu pemilihan repositori, klik Tautkan repositori baru.

  6. Di panel Link Git repositories via Developer Connect, pilih Create new connection.

  7. Pilih GitLab sebagai penyedia Anda.

  8. Tentukan region koneksi dan nama koneksi.

  9. Berikan token akses API dan token akses API baca. Untuk mengetahui informasi tentang cara melakukannya, lihat Membuat token akses.

  10. Klik Lanjutkan, lalu pilih repositori jarak jauh yang akan ditautkan dan klik Tautkan.

  11. Di Dataform, pilih repositori jarak jauh dan cabang default Anda.

  12. Untuk menyelesaikan penyiapan, klik Tautkan.

Menggunakan koneksi Developer Connect yang ada

Untuk menghubungkan repositori jarak jauh ke koneksi Developer Connect yang ada, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Dataform.

    Buka Dataform

  2. Pilih repositori Anda.

  3. Buka Setelan, lalu klik Hubungkan dengan Git.

  4. Di panel Link to remote repository, di bagian Remote Git repository protocol, pilih Developer Connect.

  5. Di menu pemilihan repositori, pilih repositori yang termasuk dalam koneksi Developer Connect yang ada.

  6. Di Dataform, pilih repositori jarak jauh dan cabang default Anda.

  7. Untuk menyelesaikan penyiapan, klik Tautkan.

Menghubungkan repositori jarak jauh melalui SSH

Untuk menghubungkan repositori jarak jauh melalui SSH, Anda perlu membuat kunci SSH dan rahasia Secret Manager. 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 agen layanan Dataform default Anda.

Dataform menggunakan rahasia dengan kunci SSH pribadi untuk login ke penyedia Git Anda guna melakukan perubahan atas nama developer. Dataform membuat commit ini menggunakan alamat email developer Google Cloud 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 salah satu hal berikut:

    Layanan Azure DevOps

    1. Di Azure DevOps Services, buat kunci SSH pribadi.
    2. Upload kunci SSH publik ke repositori Azure DevOps Services 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 rahasia untuk agen layanan Dataform default Anda.

      Agen layanan Dataform default Anda menggunakan format berikut:

      service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
      
    2. Berikan peran roles/secretmanager.secretAccessor kepada agen layanan atau 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 Nilai kunci host publik SSH, masukkan kunci host publik penyedia Git Anda.

    Layanan Azure DevOps

    1. Untuk mengambil kunci host publik Azure DevOps Services, jalankan perintah berikut di terminal:

      ssh-keyscan -t rsa ssh.dev.azure.com
      
    2. Salin salah satu kunci yang dihasilkan, dengan menghilangkan ssh.dev.azure.com dari awal baris. Nilai yang Anda salin harus dalam format berikut:

      ALGORITHM BASE64_KEY_VALUE
      

      Contoh:

      ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
      

      Pastikan kunci ini masih terbaru dengan Azure DevOps Services.

    Bitbucket

    1. Untuk mengambil kunci host publik Bitbucket, jalankan perintah berikut di terminal:

      curl https://bitbucket.org/site/ssh
      
    2. Perintah ini akan menampilkan daftar kunci host publik. Pilih salah satu kunci dari daftar, lalu salin, dengan menghilangkan bitbucket.org dari awal baris. Nilai yang Anda salin harus dalam format berikut:

      ALGORITHM BASE64_KEY_VALUE
      

      Contoh:

      ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUO
      

      Pastikan kunci ini masih terbaru dengan Bitbucket.

    GitHub

    1. Untuk mengambil kunci host publik GitHub, lihat sidik jari kunci SSH GitHub.
    2. Halaman ini berisi daftar kunci host publik. Pilih salah satunya, lalu salin, dengan menghilangkan github.com dari awal baris. Nilai yang Anda salin harus dalam format berikut:

      ALGORITHM BASE64_KEY_VALUE
      

      Contoh:

      ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
      

      Verifikasi bahwa kunci ini masih terbaru dengan GitHub.

    GitLab

    1. Untuk mengambil kunci host publik GitLab, lihat entri SSH known_hosts.
    2. Halaman ini berisi daftar kunci host publik. Pilih salah satunya, lalu salin, dengan menghilangkan gitlab.com dari awal baris. Nilai yang Anda salin harus dalam format berikut:

      ALGORITHM BASE64_KEY_VALUE
      

      Contoh:

      ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
      

      Pastikan kunci ini masih terbaru dengan GitLab.

  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 kepada agen layanan Dataform default Anda.

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

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 ke hanya 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. Beri Dataform izin repo.

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

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

    GitLab

    1. Di GitLab, buat token akses pribadi GitLab.

    2. Beri nama token dataform.

      Token akses pribadi GitLab harus diberi nama dataform.

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

    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 rahasia untuk agen layanan Dataform default Anda.

    Agen layanan Dataform default Anda menggunakan format berikut:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Berikan peran roles/secretmanager.secretAccessor kepada agen 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 Anda edit.

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

  4. Di panel Link to remote repository, edit setelan koneksi.

  5. Klik Update.

Langkah berikutnya