Mengelola pipeline menggunakan Pengelolaan Kontrol Sumber

Halaman ini menjelaskan cara mengelola pipeline menggunakan kontrol sumber di Cloud Data Fusion melalui repositori Git.

Tentang Pengelolaan Kontrol Sumber

Cloud Data Fusion menyediakan kemampuan untuk mendesain pipeline secara visual untuk integrasi ETL dan ELT. Untuk pengelolaan pipeline yang lebih baik antara pengembangan dan produksi, Cloud Data Fusion memungkinkan Pengelolaan Kontrol Versi pipeline menggunakan GitHub dan sistem kontrol versi lainnya.

Dengan Pengelolaan Kontrol Sumber di Cloud Data Fusion, Anda dapat melakukan hal berikut:

  • Mengintegrasikan setiap namespace Cloud Data Fusion dengan sistem kontrol versi.
  • Mengelola pipeline Anda di repositori Git pusat.
  • Meninjau dan mengaudit perubahan pipeline.
  • Mengembalikan perubahan pipeline.
  • Berkolaborasi secara efektif dengan tim sambil memastikan kontrol pusat.

Sebelum memulai

  • Source Control Management mendukung integrasi dengan repositori GitHub, Bitbucket Server, Bitbucket Cloud, dan GitLab.
  • OAuth GitHub tidak didukung.
  • Pengelolaan Kontrol Sumber hanya mendukung pipeline batch.
  • Pengelolaan Kontrol Sumber hanya mendukung JSON desain pipeline untuk operasi push dan pull. Konfigurasi eksekusi tidak didukung.
  • Batas ukuran repositori tertaut adalah 5 GB.

Peran dan izin yang diperlukan

Pengelolaan Kontrol Sumber di Cloud Data Fusion terdiri dari dua operasi utama:

  • Mengonfigurasi repositori kontrol sumber
  • Menyinkronkan pipeline dengan repositori Git menggunakan operasi push dan pull

Untuk mendapatkan izin yang diperlukan untuk menggunakan fitur Pengelolaan Kontrol Sumber, minta administrator untuk memberi Anda salah satu peran bawaan berikut di project Anda:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

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

Menyiapkan repositori Git

Untuk membuat repositori Git di GitHub, ikuti petunjuk yang dijelaskan dalam Membuat repositori.

Untuk mengetahui informasi selengkapnya tentang token akses pribadi di GitHub dan sistem kontrol versi lainnya, lihat halaman berikut:

Menghubungkan repositori Git dengan Cloud Data Fusion

Cloud Data Fusion memungkinkan Anda mengonfigurasi dan menghubungkan repositori Git di tab Source Control Management untuk setiap namespace. Untuk menautkan namespace dengan repositori Git Anda, ikuti langkah-langkah berikut:

Konsol

  1. Di Cloud Data Fusion Studio, klik Menu.
  2. Klik Admin namespace.
  3. Di halaman Namespace admin, klik tab Source Control Management.
  4. Klik Link repository.
  5. Masukkan detail berikut:

    • Penyedia: Pilih penyedia layanan Git, seperti GitHub atau GitLab.
    • URL repositori: Masukkan URL tempat repositori Anda dapat diakses. Untuk GitHub, URL repositori adalah https://github.com/HOST/REPO.
    • Cabang default (opsional): Masukkan cabang awal Git. Cabang ini dapat berbeda dengan cabang default yang dikonfigurasi di GitHub. Cabang ini digunakan untuk menyinkronkan pipeline, terlepas dari cabang default di GitHub.
    • Awalan jalur (opsional): Masukkan awalan untuk nama pipeline yang disimpan di repositori Git. Misalnya, jika nama pipeline Anda adalah DataFusionQuickStart dan jika Anda menentukan awalan sebagai namespaceName, pipeline akan disimpan sebagai namespaceName/DataFusionQuickStart di repositori Git.
    • Jenis autentikasi: Cloud Data Fusion memungkinkan Anda menggunakan token akses yang dipersonalisasi sebagai jenis autentikasi. Opsi ini dipilih otomatis.
    • Nama token: Masukkan nama yang dapat dikaitkan dengan token.
    • Token: Masukkan token yang disediakan oleh repositori GitHub.
    • Opsional: Nama pengguna: Masukkan nama pengguna atau pemilik untuk token.
  6. Klik Validate. Tunggu hingga koneksi diverifikasi.

  7. Setelah konfigurasi selesai, klik Simpan dan tutup untuk mengonfirmasi konfigurasi.

Hubungkan repositori Git dengan Cloud Data Fusion.

REST API

  1. Buat kunci rahasia di Cloud Data Fusion yang berisi token akses pribadi.

  2. Jalankan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/securekeys/PASSWORD_SECRET_KEY -X PUT -d '{ "description": "Example Secure Key","data": "PERSONAL_ACCESS_TOKEN"}'
    

    Ganti kode berikut:

    • NAMESPACE_ID: ID namespace.
    • PASSWORD_SECRET_KEY: nama kunci rahasia yang berisi token akses pribadi.
    • PERSONAL_ACCESS_TOKEN: token akses pribadi GitHub.
  3. Jalankan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X PUT -d '{"test": "TEST_ONLY", "config": {"provider": "PROVIDER_TYPE", "link": "REPO_URL", "defaultBranch": "DEFAULT_BRANCH", "pathPrefix": "PATH_TO_DIRECTORY", "auth": {"type": "AUTH_TYPE", "patConfig": {"passwordName": "PASSWORD_SECRET_KEY", "username": "USER_NAME"}}}}'
    

    Ganti kode berikut:

    • NAMESPACE_ID: ID namespace.
    • TEST_ONLY: ditetapkan ke true jika Anda hanya ingin memvalidasi konfigurasi dan tidak menambahkannya.
    • PROVIDER_TYPE: nama penyedia Git, yaitu GITHUB.
    • REPO_URL: URL repositori yang akan ditautkan. Gunakan URL https—misalnya, https://github.com/user/repo.git.
    • DEFAULT_BRANCH: Cabang yang digunakan untuk operasi push dan pull. Jika dihilangkan, cabang yang dikonfigurasi default di repositori akan digunakan—misalnya, cabang utama.
    • PATH_TO_DIRECTORY: jalur ke direktori di repositori tempat file konfigurasi disimpan.
    • AUTH_TYPE: jenis autentikasi. Hanya PAT yang didukung. Lihat Token akses pribadi terperinci di GitHub.
    • PASSWORD_SECRET_KEY: nama kunci rahasia yang berisi token akses pribadi untuk jenis autentikasi PAT.
    • USER_NAME: Anda dapat menghilangkan nilai ini untuk jenis autentikasi PAT.

Menyinkronkan pipeline Cloud Data Fusion dengan repositori jarak jauh

Setelah mengonfigurasi repositori Git dengan namespace, Anda dapat mengirim dan menarik pipeline, serta menyinkronkannya, dengan repositori Git.

Mengirimkan pipeline dari Cloud Data Fusion ke repositori Git

Untuk menyinkronkan beberapa pipeline yang di-deploy dari namespace ke repositori Git, ikuti langkah-langkah berikut:

Konsol

  1. Di Cloud Data Fusion Studio, klik Menu.
  2. Klik Admin namespace.
  3. Di halaman Namespace admin, klik tab Source Control Management.
  4. Temukan repositori Git yang ingin Anda sinkronkan, lalu klik Sync pipelines.
  5. Klik tab Namespace pipelines.
  6. Telusuri dan pilih pipeline yang ingin Anda kirim ke repositori Git.

    Jika versi terbaru pipeline di-push ke atau ditarik dari repositori Git, status Terhubung ke Git akan menampilkan Connected. Jika pipeline belum pernah di-push ke GitHub, status Terhubung ke Git akan kosong (-).

    Jika Anda men-deploy versi pipeline yang lebih baru yang sudah disinkronkan dengan repositori Git, status Terhubung ke Git akan berubah dari Connected menjadi kosong (-).

  7. Klik Push to repository.

  8. Masukkan Pesan commit, lalu klik OK.

    Operasi push dimulai dan pesan ditampilkan yang menunjukkan bahwa pipeline yang dipilih sedang di-push ke repositori jarak jauh.

Mendorong pipeline dari Cloud Data Fusion ke repositori Git.

Jika operasi push berhasil diselesaikan, pesan berhasil akan ditampilkan yang menunjukkan jumlah pipeline yang di-push ke repositori jarak jauh.

Jika operasi push gagal, periksa pipeline di GitHub untuk melihat apakah pipeline tersebut adalah versi terbaru. Untuk setiap operasi push yang gagal, pesan error akan ditampilkan. Untuk melihat detail error, luaskan pesan error.

Anda juga dapat mengirimkan setiap pipeline ke repositori Git dari studio desain pipeline:

  1. Di Cloud Data Fusion Studio, klik Menu.
  2. Klik Daftar.
  3. Klik pipeline yang ingin Anda kirim ke repositori Git.
  4. Di halaman pipeline, klik Actions > Push to repository.
  5. Masukkan Pesan commit, lalu klik OK.

Mendorong pipeline dari studio desain pipeline.

REST API

  1. Kirimkan sekumpulan pipeline dari Cloud Data Fusion ke repositori Git:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/push -X POST
    -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}, "commitMessage": "COMMIT_MESSAGE"'
    

    Ganti kode berikut:

    • NAMESPACE_ID: ID namespace.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: nama pipeline yang akan di-push.
    • COMMIT_MESSAGE: pesan commit untuk commit Git.

    Respons berisi ID operasi push. Contoh:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Untuk melakukan polling status operasi push, jalankan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Ganti kode berikut:

    • NAMESPACE_ID: ID namespace.
    • OPERATION_ID: ID operasi yang diterima dari operasi push.

    Respons berisi status operasi push. Contoh:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Untuk memverifikasi apakah operasi push telah selesai, periksa properti done dalam respons. Jika operasi gagal, periksa properti error untuk mengetahui detail selengkapnya.

Menarik pipeline dari repositori Git ke Cloud Data Fusion

Untuk menyinkronkan beberapa pipeline dari repositori Git ke namespace Anda, ikuti langkah-langkah berikut:

Konsol

  1. Di Cloud Data Fusion Studio, klik Menu.
  2. Klik Admin namespace.
  3. Di halaman Namespace admin, klik tab Source Control Management.
  4. Temukan repositori Git yang ingin Anda sinkronkan, lalu klik Sinkronkan pipeline.
  5. Klik tab Repository pipelines. Semua pipeline yang disimpan di repositori Git akan ditampilkan.
  6. Cari dan pilih pipeline yang ingin Anda tarik dari repositori Git ke namespace Cloud Data Fusion Anda.
  7. Klik Pull from repository.

    Operasi penarikan dimulai dan pesan ditampilkan yang menunjukkan bahwa pipeline yang dipilih sedang ditarik dari repositori jarak jauh. Cloud Data Fusion mencari file JSON di jalur yang dikonfigurasi, lalu menarik dan men-deploy-nya sebagai pipeline ke Cloud Data Fusion.

Tarik pipeline dari repositori Git ke Cloud Data Fusion.

Jika operasi penarikan berhasil diselesaikan, pesan berhasil akan ditampilkan yang menunjukkan jumlah pipeline yang ditarik dari repositori jarak jauh.

Jika operasi penarikan gagal, pesan error akan ditampilkan. Untuk melihat detail error, luaskan pesan error.

Anda juga dapat menarik setiap pipeline dari repositori Git ke namespace dari studio desain pipeline:

  1. Di Cloud Data Fusion Studio, klik Menu.
  2. Klik Daftar.
  3. Klik pipeline yang ingin Anda tarik dari repositori Git.
  4. Di halaman pipeline, klik Actions > Pull from repository.

Tarik pipeline dari studio desain pipeline.

REST API

  1. Tarik sekumpulan pipeline dari repositori Git ke Cloud Data Fusion:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/pull -X POST -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}'
    

    Ganti kode berikut:

    • NAMESPACE_ID: ID namespace.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: nama pipeline yang akan ditarik.

    Respons berisi ID operasi penarikan. Contoh:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Untuk melakukan polling status operasi penarikan, jalankan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Ganti kode berikut:

    • NAMESPACE_ID: ID namespace.
    • OPERATION_ID: ID operasi yang diterima dari operasi penarikan.

    Respons berisi status operasi penarikan. Contoh:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Untuk memverifikasi apakah operasi penarikan selesai, periksa properti done dalam respons. Jika operasi gagal, periksa properti error untuk mengetahui detail selengkapnya.

Menghapus konfigurasi repositori Git

Untuk menghapus konfigurasi repositori Git dari namespace, ikuti langkah-langkah berikut:

Konsol

  1. Di Cloud Data Fusion Studio, klik Menu.
  2. Klik Admin namespace.
  3. Di halaman Namespace admin, klik tab Source Control Management.
  4. Untuk konfigurasi repositori Git yang ingin Anda hapus, klik > Hapus.

REST API

Hapus konfigurasi repositori Git:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X DELETE

Ganti NAMESPACE_ID dengan ID namespace.

Langkah berikutnya