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 guna 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 Sumber pipeline menggunakan GitHub.

Pengelolaan Kontrol Sumber di Cloud Data Fusion memungkinkan Anda melakukan hal berikut:

  • Integrasikan setiap namespace Cloud Data Fusion dengan GitHub.
  • Kelola pipeline Anda di repositori Git pusat.
  • Meninjau dan mengaudit perubahan pipeline.
  • Mengembalikan perubahan pipeline.
  • Berkolaborasi secara efektif dengan tim sambil memastikan kontrol terpusat.

Sebelum memulai

  • Source Control Management hanya mendukung integrasi dengan repositori GitHub.
  • 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 yang telah ditetapkan berikut di project:

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

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran lain yang telah ditetapkan.

Menyiapkan repositori Git

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

Untuk informasi lebih lanjut tentang token akses pribadi di GitHub, lihat dokumen berikut:

Menghubungkan repositori Git dengan Cloud Data Fusion

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

Konsol

  1. Di antarmuka web Cloud Data Fusion, 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. Pilih GitHub, karena Pengelolaan Kontrol Sumber hanya mendukung integrasi dengan repositori GitHub.
    • Repository URL: Masukkan URL tempat repositori Anda dapat diakses. Untuk GitHub, URL repositorinya adalah https://github.com/HOST/REPO.
    • Cabang default (opsional): Masukkan cabang awal Git. Cabang ini dapat berbeda dari cabang default yang dikonfigurasi di GitHub. Cabang ini akan digunakan untuk menyinkronkan pipeline, terlepas dari cabang default di GitHub.
    • Awalan jalur (opsional): Masukkan awalan untuk nama pipeline yang akan disimpan di repositori Git. Misalnya, jika nama pipeline Anda adalah DataFusionQuickStart dan jika Anda menentukan awalan sebagai namespaceName, pipeline tersebut 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 secara otomatis.
    • Nama token: Masukkan nama yang dapat dikaitkan dengan token.
    • Token: Masukkan token yang disediakan oleh repositori GitHub.
    • User name (opsional): Masukkan nama pengguna atau pemilik untuk token.
  6. Klik Validasi. Tunggu sampai koneksi diverifikasi.

  7. Setelah konfigurasi selesai, klik Save and close 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 menambahkan
    • 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 default yang dikonfigurasi dalam repositori akan digunakan—misalnya, cabang utama
    • PATH_TO_DIRECTORY: jalur ke direktori di repositori tempat file konfigurasi akan disimpan
    • AUTH_TYPE: jenis autentikasi. Hanya mendukung PAT. Lihat Token akses pribadi mendetail 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.

Mengirim 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 antarmuka web Cloud Data Fusion, 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 Pipeline namespace.
  6. Telusuri dan pilih pipeline yang ingin Anda kirim ke repositori Git.

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

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

  7. Klik Push to repository.

  8. Masukkan Commit message, lalu klik OK.

    Operasi push dimulai dan sebuah pesan ditampilkan yang menunjukkan bahwa pipeline yang dipilih dikirim ke repositori jarak jauh.

Kirim pipeline dari Cloud Data Fusion ke repositori Git.

Saat operasi push berhasil diselesaikan, pesan sukses akan ditampilkan yang menunjukkan jumlah pipeline yang dikirim 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 mengirim setiap pipeline ke repositori Git dari studio desain pipeline:

  1. Di antarmuka web Cloud Data Fusion, klik Menu .
  2. Klik Daftar.
  3. Klik pipeline yang ingin Anda kirim ke repositori Git.
  4. Di halaman pipeline, klik Tindakan > Kirim ke repositori.
  5. Masukkan Commit message lalu klik OK.

Mendorong pipeline dari studio desain pipeline.

REST API

  1. Kirim serangkaian 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 dikirim
    • 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 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 antarmuka web Cloud Data Fusion, 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 Repository pipelines. Semua pipeline yang disimpan di repositori Git akan ditampilkan.
  6. Telusuri dan pilih pipeline yang ingin Anda tarik dari repositori Git ke namespace Cloud Data Fusion Anda.
  7. Klik Pull from repository.

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

Menarik pipeline dari repositori Git ke Cloud Data Fusion.

Saat operasi pull berhasil diselesaikan, pesan sukses akan ditampilkan yang menunjukkan jumlah pipeline yang ditarik dari repositori jarak jauh.

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

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

  1. Di antarmuka web Cloud Data Fusion, klik Menu .
  2. Klik Daftar.
  3. Klik pipeline yang ingin Anda ambil dari repositori Git.
  4. Di halaman pipeline, klik Tindakan > Tarik dari repositori.

Menarik pipeline dari studio desain pipeline.

REST API

  1. Tarik serangkaian 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 pull. Contoh:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Untuk melakukan polling status operasi pull, 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 tarik.

    Respons berisi status operasi pull. Contoh:

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

    Untuk memastikan apakah operasi pull 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 antarmuka web Cloud Data Fusion, 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 > Delete.

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 selanjutnya