Mengintegrasikan Realtime Compute for Apache Flink dengan repositori Git jarak jauh (GitHub, GitLab, atau Gitee) memungkinkan Anda mendorong kode pekerjaan dan aset proyek ke repositori ini atau menariknya untuk pengembangan dan penyebaran berbasis konsol. Fitur ini mendukung berbagai kasus penggunaan seperti migrasi cloud, pengembangan kolaboratif, manajemen kode, jaminan kualitas, tata kelola risiko, pemulihan bencana, dan manajemen kepatuhan. Topik ini menjelaskan cara mengintegrasikan Realtime Compute for Apache Flink dengan repositori Git, mendorong kode Anda, serta menarik kode dari repositori tersebut di konsol pengembangan.
Kasus penggunaan
Kasus Penggunaan | Deskripsi | Tindakan yang Direkomendasikan atau Catatan |
Migrasi cloud | Mendukung mendorong kode Flink SQL lokal langsung ke kluster Flink cloud (seperti Realtime Compute for Apache Flink) melalui Git, menghilangkan ekspor, impor, dan konfigurasi manual. |
|
Pengembangan kolaboratif dan manajemen kode |
|
|
Jaminan kualitas dan tata kelola risiko |
|
|
Pemulihan bencana dan manajemen kepatuhan |
|
|
Prasyarat
Anda telah membuat ruang kerja Flink.
Anda telah membuat atau memiliki akses ke repositori Git jarak jauh (misalnya, GitHub, GitLab, Gitee, Alibaba Cloud DevOps).
Ruang kerja Flink Anda dapat mengakses Internet.
Untuk repositori Git dengan IP whitelisting diaktifkan, tambahkan alamat IP ruang kerja Flink Anda ke daftar putih repositori Git.
Catatan penggunaan
Jenis Pekerjaan yang Didukung: SQL
Batasan Pengikatan:
Untuk mengonfigurasi integrasi Git atau mengedit konfigurasi repositori Git yang terintegrasi, Anda harus menjadi pemilik namespace atau anggota dengan izin setara.
Setiap namespace hanya dapat dikaitkan dengan satu repositori Git dan satu cabang. Untuk mengelola beberapa repositori Git atau beberapa cabang dari repositori Git, buat lebih banyak namespace.
Hierarki folder yang didukung: Batasi hierarki folder hingga tujuh tingkat. Berkas pada tingkat kedelapan atau lebih dalam tidak dapat ditarik ke Realtime Compute for Apache Flink.
Konflik Penggabungan: Jangan edit file yang sama di Git dan konsol pengembangan secara bersamaan. Dalam hal terjadi pengeditan bersamaan, Flink akan melakukan pemeriksaan konflik selama mendorong atau menarik kode, dan Anda perlu menyelesaikan konflik yang muncul secara manual. Mekanisme resolusi konflik sistem adalah sebagai berikut:
Jenis operasi
Mekanisme resolusi konflik
Menarik
Sistem secara otomatis menerapkan pembaruan non-konflik ke draf SQL dan mengidentifikasi file yang bertentangan. Anda harus menyelesaikan konflik penggabungan ini secara manual sebelum melanjutkan.
Mendorong
Setelah Anda mendorong perubahan, sistem akan meminta Anda untuk menarik pembaruan dari repositori jarak jauh terlebih dahulu dan mencoba lagi.
Selama proses penarikan, jika konflik penggabungan terdeteksi, selesaikan secara manual dan selesaikan penarikan.
Setelah konflik penggabungan diselesaikan, dorong lagi.
Ketika perubahan di repositori Git Anda terbatas pada file
.json(yang berisi konfigurasi pekerjaan), perilaku penarikan adalah sebagai berikut:Menambahkan atau menghapus file JSON: Operasi ini tidak direplikasi di konsol pengembangan.
Memodifikasi file JSON: Pembaruan diterapkan ke konfigurasi draf SQL dengan nama yang sama.
Langkah 1: Mengaitkan repositori Git dengan namespace
Buat koneksi internet dan uji konektivitas.
Jika Anda telah membuat koneksi internet, lewati langkah ini.
Pergi ke konsol pengembangan.
Masuk ke Konsol Manajemen Realtime Compute for Apache Flink.
Klik Console di kolom Actions dari ruang kerja target.
Konfigurasikan repositori Git untuk namespace.
Di pojok kanan atas halaman, klik foto profil lalu klik User Profile.

Klik Git Config di kolom Actions dari namespace Anda.

Konfigurasikan repositori Git.

Item konfigurasi
Deskripsi
Provider
Nilai valid: GitHub, GitLab, dan Gitee.
Repository URL
URL repositori Git Anda, dimulai dengan
HTTPatauHTTPSdan diakhiri dengan.git. Maksimal 64 karakter.Username
Nama pengguna akun Git Anda, yang harus memiliki izin relevan pada repositori target.
Personal Access Token
Token akses pribadi untuk autentikasi.
Untuk informasi tentang cara mendapatkan token akses pribadi, lihat Mengelola token akses pribadi di GitHub atau Mengelola token akses pribadi di GitLab.
Branch
Garis pengembangan kode independen, digunakan untuk mengisolasi pengembangan fitur atau versi yang berbeda.
Namespace memperbolehkan pengikatan ke satu cabang.
Klik OK.
Repositori Git dan cabang telah dikaitkan dengan namespace Anda.
Untuk beralih ke repositori atau cabang lain, pertama klik Git Config untuk melakukan unbinding, lalu ikat yang baru.

Langkah 2: Dorong atau tarik pembaruan
Push perubahan
Anda dapat mendorong kode pekerjaan dan perubahan konfigurasi ke repositori Git jarak jauh di konsol pengembangan. Anda dapat melihat perbedaan sebelum mendorong.
Di halaman , klik tombol Git - Push.

Di dialog, konfigurasikan Commit Message, dan klik Commit And Push.
Di bidang Changes, penambahan (A), modifikasi (M), atau penghapusan (D) ditampilkan. Klik huruf yang sesuai untuk melihat detail perubahan.

Periksa hasil di Git.

Detail file yang didorong ke Git adalah sebagai berikut.
Jenis perubahan
Deskripsi
Ilustrasi
Penambahan
Ketika draf SQL baru didorong ke Git, akan ada dua file dengan nama yang sama tetapi ekstensi berbeda:
filename.sql: Kode SQL.filename.json: Konfigurasi pekerjaan SQL, termasuk nama draf, ID draf, mode eksekusi, dan versi mesin.

Pembaruan
Pembaruan dilakukan pada draf SQL yang relevan atau file
.json.Modifikasi kode SQL:

Modifikasi versi mesin:

Tarik perubahan
Tarik kode SQL atau konfigurasi pekerjaan dari repositori Git Anda ke konsol pengembangan.
Di halaman , klik ikon Git - Synchronize Changes.
Waktu sinkronisasi terakhir ditampilkan di sebelah kanan ikon ini. Jika bukan waktu terbaru, klik ikon Git - Synchronize Changes.

Jika Git Anda memiliki pembaruan, Update Available ditampilkan di sebelah ikon tarik.

Di halaman , klik ikon Git - Pull.
(Opsional) Menyelesaikan konflik penggabungan secara manual.
PentingRealtime Compute for Apache Flink tidak mendukung rollback keseluruhan. Oleh karena itu, sebelum menyelesaikan konflik secara manual, selalu cadangkan data penting (seperti dengan menduplikasi file
example.sqlsecara lokal) dan evaluasi dampak operasional. Lanjutkan dengan hati-hati, karena salah menangani konflik dapat menyebabkan konsekuensi yang tidak dapat dibalikkan.Klik Resolve.

Halaman resolusi konflik muncul.
Selesaikan konflik.
Pilih potongan kode yang bertentangan, dan pilih Accept Current Change, Accept Incoming Change, dan Accept Both Changes sesuai kebutuhan.

Tombol
Arti
Accept Current Change
Menjaga versi asli kode.
Accept Incoming Change
Menerima perubahan dari repositori Git jarak jauh.
Accept Both Changes
Menerapkan kedua perubahan.
Setelah resolusi konflik, klik Resolved
Klik Continue.
Lihat dan modifikasi hasil yang ditarik.
Ketika halaman memberi tahu Successfully pulled from the remote repository, halaman ETL akan secara otomatis memperbarui draf untuk menampilkan draf SQL yang ditarik.
Setelah penarikan selesai, draf saat ini akan dikunci oleh Git. Untuk memodifikasi atau menghapusnya, gunakan Click To Unlock.

Referensi
Untuk informasi tentang operasi Git umum, seperti mengkloning repositori, melakukan commit kode, membuat pull request, lihat Menggunakan GitHub atau Gunakan GitLab.
Untuk informasi tentang menggunakan Git dengan CI/CD untuk membangun aplikasi, lihat GitLab CI/CD Quick Start atau GitHub Actions Quick Start.
