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:
Konfigurasikan repositori kontrol sumber:
- Operator Cloud Data Fusion (
roles/datafusion.operator
) - Cloud Data Fusion Editor (
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
) - Developer Cloud Data Fusion (
roles/datafusion.developer
) - Cloud Data Fusion Editor (
roles/datafusion.editor
) - Admin Cloud Data Fusion (
roles/datafusion.admin
)
- Operator Cloud Data Fusion (
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
- Di antarmuka web Cloud Data Fusion, 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. 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 sebagainamespaceName
, pipeline tersebut akan disimpan sebagainamespaceName/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.
- Penyedia: Pilih penyedia layanan Git. Pilih
Klik Validasi. Tunggu sampai koneksi diverifikasi.
Setelah konfigurasi selesai, klik Save and close 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 namespacePASSWORD_SECRET_KEY
: nama kunci rahasia yang berisi token akses pribadiPERSONAL_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 namespaceTEST_ONLY
: ditetapkan ketrue
jika Anda hanya ingin memvalidasi konfigurasi dan tidak menambahkanPROVIDER_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 default yang dikonfigurasi dalam repositori akan digunakan—misalnya, cabang utamaPATH_TO_DIRECTORY
: jalur ke direktori di repositori tempat file konfigurasi akan disimpanAUTH_TYPE
: jenis autentikasi. Hanya mendukungPAT
. Lihat Token akses pribadi mendetail di GitHubPASSWORD_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.
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
- Di antarmuka web Cloud Data Fusion, 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 Pipeline namespace.
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 (-
).Klik Push to repository.
Masukkan Commit message, lalu klik OK.
Operasi push dimulai dan sebuah pesan ditampilkan yang menunjukkan bahwa pipeline yang dipilih dikirim ke repositori jarak jauh.
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:
- Di antarmuka web Cloud Data Fusion, klik Menu .
- Klik Daftar.
- Klik pipeline yang ingin Anda kirim ke repositori Git.
- Di halaman pipeline, klik Tindakan > Kirim ke repositori.
- Masukkan Commit message lalu klik OK.
REST API
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 namespacePIPELINE_NAME_1
,PIPELINE_NAME_2
: nama pipeline yang akan dikirimCOMMIT_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_ID
Ganti kode berikut:
NAMESPACE_ID
: ID namespaceOPERATION_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 propertierror
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
- Di antarmuka web Cloud Data Fusion, 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 Repository pipelines. Semua pipeline yang disimpan di repositori Git akan ditampilkan.
- Telusuri dan pilih pipeline yang ingin Anda tarik dari repositori Git ke namespace Cloud Data Fusion Anda.
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.
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:
- Di antarmuka web Cloud Data Fusion, klik Menu .
- Klik Daftar.
- Klik pipeline yang ingin Anda ambil dari repositori Git.
- Di halaman pipeline, klik Tindakan > Tarik dari repositori.
REST API
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 namespacePIPELINE_NAME_1
,PIPELINE_NAME_2
: nama pipeline yang akan ditarik
Respons berisi ID operasi pull. Contoh:
RESPONSE { "id": OPERATION_ID }
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 namespaceOPERATION_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 propertierror
untuk mengetahui detail selengkapnya.
Menghapus konfigurasi repositori Git
Untuk menghapus konfigurasi repositori Git dari namespace, ikuti langkah-langkah berikut:
Konsol
- Di antarmuka web Cloud Data Fusion, klik Menu.
- Klik Admin namespace.
- Di halaman Namespace admin, klik tab Source Control Management.
- 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
- Baca selengkapnya tentang Menggunakan repositori GitHub untuk mengelola pipeline.