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 Sumber pipeline menggunakan GitHub dan sistem kontrol versi lainnya.
Pengelolaan Kontrol Sumber di Cloud Data Fusion memungkinkan Anda melakukan hal berikut:
- Integrasikan setiap namespace Cloud Data Fusion dengan sistem kontrol versi.
- Mengelola pipeline Anda di repositori Git pusat.
- Meninjau dan mengaudit perubahan pipeline.
- Kembalikan perubahan pipeline.
- Berkolaborasi secara efektif dengan tim sambil memastikan kontrol terpusat.
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 Anda perlukan guna menggunakan fitur Pengelolaan Kontrol Sumber, minta administrator untuk memberi Anda salah satu peran bawaan berikut di project Anda:
Konfigurasi repositori kontrol sumber:
- Operator Cloud Data Fusion (
roles/datafusion.operator
) - Editor Cloud Data Fusion (
roles/datafusion.editor
) - Cloud Data Fusion Admin (
roles/datafusion.admin
)
- Operator Cloud Data Fusion (
Sinkronkan 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
) - Cloud Data Fusion Admin (
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 di Membuat repositori.
Untuk 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 GitHub Anda, ikuti langkah-langkah berikut:
Konsol
- Di Cloud Data Fusion Studio, klik Menu.
- Klik Namespace admin.
- 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 repositorinya 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 sebagainamespaceName
, pipeline 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.
- Opsional: Nama pengguna: Masukkan nama pengguna atau pemilik untuk token.
Klik Validasi. Tunggu hingga 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 namespace.PASSWORD_SECRET_KEY
: nama kunci secret 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 ketrue
jika 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 default yang dikonfigurasi di repositori akan digunakan—misalnya, cabang utama.PATH_TO_DIRECTORY
: jalur ke direktori di repositori tempat file konfigurasi disimpan.AUTH_TYPE
: jenis autentikasi. HanyaPAT
yang 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 mendorong 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 Cloud Data Fusion Studio, klik Menu.
- Klik Namespace admin.
- Di halaman Namespace admin, klik tab Source Control Management.
- Temukan repositori Git yang ingin disinkronkan, lalu klik Sinkronkan pipeline.
- Klik tab Pipeline namespace.
Telusuri dan pilih pipeline yang ingin Anda dorong 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 pipeline versi yang lebih baru yang sudah disinkronkan dengan repositori Git, status Terhubung ke Git akan berubah dari
Connected
menjadi 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 versi tersebut merupakan versi terbaru. Untuk setiap operasi push yang gagal, pesan error akan ditampilkan. Untuk melihat detail error, luaskan pesan error.
Anda juga dapat mendorong 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 Oke.
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 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_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 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 Cloud Data Fusion Studio, klik Menu.
- Klik Namespace admin.
- Di halaman Namespace admin, klik tab Source Control Management.
- Temukan repositori Git yang ingin disinkronkan, lalu klik Sinkronkan pipeline.
- Klik tab Pipeline repositori. 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.
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 jalur yang dikonfigurasi, lalu menarik dan men-deploy-nya sebagai pipeline ke Cloud Data Fusion.
Jika operasi pull berhasil diselesaikan, pesan berhasil akan ditampilkan yang menunjukkan jumlah pipeline yang diambil dari repositori jarak jauh.
Jika operasi pull gagal, pesan error akan ditampilkan. Untuk melihat detail error, luaskan pesan error.
Anda juga dapat mengambil 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
Ambil 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 diambil.
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 namespace.OPERATION_ID
: ID operasi yang diterima dari operasi pull.
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 memverifikasi 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 Cloud Data Fusion Studio, klik Menu.
- Klik Namespace admin.
- 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 selanjutnya
- Baca selengkapnya tentang Menggunakan repositori GitHub untuk mengelola pipeline.