Lompat ke kandungan utama
Clinford Jordano Valencia
Semua projek
PlatformWebMudah alih

Aliran Berasaskan Skema dengan Config as Code

Platform UI dipacu konfigurasi dengan config-as-code berasaskan Git, supaya perubahan peraturan dikeluarkan dalam beberapa jam tanpa penggunaan frontend.

Stack
TypeScript · jsonform · Git · CI/CD · Schema validation

Masalahnya

Aliran untuk banyak pasaran bermaksud kod berganda dan tiket kejuruteraan setiap kali produk atau pematuhan mahu mengubah peraturan serantau.

Pendekatannya

  • Paparkan borang daripada skema. UI membaca konfigurasi JSON atau YAML melalui jsonform: skema menjana medan dan peraturan pengesahannya. Tindakan tersuai, seperti memulakan jambatan natif, kekal dalam kod.
  • Satu langkah, hasil berbeza. Konfigurasi menentukan apa yang dilakukan sesuatu langkah bagi setiap pasaran dan platform. Jika keupayaan natif disokong, langkah itu memaparkan panduan dan butang imbas; jika tidak, ia memaparkan medan borang biasa dan butang Teruskan. Pasukan produk mengubahnya dalam konfigurasi, bukan dalam kod.
  • Config as code. Perubahan dihantar melalui Git. Setiap perubahan membuka pull request automatik dan menjalankan CI dengan pengesahan skema ketat yang disokong jenis TypeScript, jadi konfigurasi yang salah gagal sebelum sampai ke pengeluaran.

Dua keputusan yang wajar dijelaskan

jsonform untuk paparan, kod untuk tindakan. UI yang dipacu sepenuhnya oleh pelayan dan menjalankan logik sewenang-wenangnya yang dihantar dari pelayan mengundang risiko pelaksanaan kod jauh dan masalah prestasi. Paparan berasaskan data dengan tindakan terikat pada pengendali yang telah dikompil mengekalkan fleksibiliti tanpa pendedahan itu.

Git, bukan borang pentadbir. Suntingan mudah tanpa tadbir urus merosakkan aliran pengeluaran. Pull request, semakan jenis dan CI menjadikan setiap perubahan boleh dikesan, disemak dan mudah ditarik balik.

Hasilnya

Keluaran konfigurasi tidak lagi bergantung pada penggunaan frontend, jadi kemas kini berbilang pasaran beralih daripada beberapa minggu kepada beberapa jam, dan pertindihan kod serantau berhenti bertambah.