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:
Mengonfigurasi repositori kontrol sumber:
- Operator Cloud Data Fusion (
roles/datafusion.operator) - Editor Cloud Data Fusion (
roles/datafusion.editor) - Admin Cloud Data Fusion (
roles/datafusion.admin)
- Operator Cloud Data Fusion (
Menyinkronkan pipeline menggunakan operasi push atau pull dari namespace:
- Operator Cloud Data Fusion (
roles/datafusion.operator) - Cloud Data Fusion Developer (
roles/datafusion.developer) - Editor Cloud Data Fusion (
roles/datafusion.editor) - Admin Cloud Data Fusion (
roles/datafusion.admin)
- Operator Cloud Data Fusion (
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
- Di Cloud Data Fusion Studio, klik Menu.
- Klik Admin namespace.
- Di halaman Namespace admin, klik tab Source Control Management.
- Klik Link repository.
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
DataFusionQuickStartdan jika Anda menentukan awalan sebagainamespaceName, pipeline akan disimpan sebagainamespaceName/DataFusionQuickStartdi 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.
Klik Validate. Tunggu hingga koneksi diverifikasi.
Setelah konfigurasi selesai, klik Simpan dan tutup untuk mengonfirmasi konfigurasi.

REST API
Buat kunci rahasia di Cloud Data Fusion yang berisi token akses pribadi.
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.
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 ketruejika Anda hanya ingin memvalidasi konfigurasi dan tidak menambahkannya.PROVIDER_TYPE: nama penyedia Git, yaituGITHUB.REPO_URL: URL repositori yang akan ditautkan. Gunakan URLhttps—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. HanyaPATyang didukung. Lihat Token akses pribadi terperinci di GitHub.PASSWORD_SECRET_KEY: nama kunci rahasia yang berisi token akses pribadi untuk jenis autentikasiPAT.USER_NAME: Anda dapat menghilangkan nilai ini untuk jenis autentikasiPAT.
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
- Di Cloud Data Fusion Studio, klik Menu.
- Klik Admin namespace.
- Di halaman Namespace admin, klik tab Source Control Management.
- Temukan repositori Git yang ingin Anda sinkronkan, lalu klik Sync pipelines.
- Klik tab Namespace pipelines.
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
Connectedmenjadi kosong (-).Klik Push to repository.
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.

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:
- Di Cloud Data Fusion Studio, klik Menu.
- Klik Daftar.
- Klik pipeline yang ingin Anda kirim ke repositori Git.
- Di halaman pipeline, klik Actions > Push to repository.
- Masukkan Pesan commit, lalu klik OK.

REST API
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 }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_IDGanti 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
donedalam respons. Jika operasi gagal, periksa propertierroruntuk 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
- Di Cloud Data Fusion Studio, klik Menu.
- Klik Admin namespace.
- Di halaman Namespace admin, klik tab Source Control Management.
- Temukan repositori Git yang ingin Anda sinkronkan, lalu klik Sinkronkan pipeline.
- Klik tab Repository pipelines. Semua pipeline yang disimpan di repositori Git akan ditampilkan.
- Cari dan pilih pipeline yang ingin Anda tarik dari repositori Git ke namespace Cloud Data Fusion Anda.
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.

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:
- Di Cloud Data Fusion Studio, klik Menu.
- Klik Daftar.
- Klik pipeline yang ingin Anda tarik dari repositori Git.
- Di halaman pipeline, klik Actions > Pull from repository.

REST API
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 }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_IDGanti 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
donedalam respons. Jika operasi gagal, periksa propertierroruntuk mengetahui detail selengkapnya.
Menghapus konfigurasi repositori Git
Untuk menghapus konfigurasi repositori Git dari namespace, ikuti langkah-langkah berikut:
Konsol
- Di Cloud Data Fusion Studio, klik Menu.
- Klik Admin namespace.
- Di halaman Namespace admin, klik tab Source Control Management.
- 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
- Baca selengkapnya tentang Menggunakan repositori GitHub untuk mengelola pipeline.