Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Set nilai dalam pustaka variabel menyediakan set nilai alternatif untuk variabel yang ditentukan, skenario pendukung seperti konfigurasi khusus lingkungan (Misalnya, dev, test, prod), pengujian A/B, atau pengalihan sumber data dalam ruang kerja yang sama.
Setiap set nilai dibuat sebagai kumpulan petunjuk ke nilai variabel bawaan, yang dapat diubah sesuai kebutuhan. Hanya satu set nilai yang dapat aktif pada satu waktu untuk ruang kerja tertentu, dan pengguna dapat dengan mudah mengalihkan set aktif melalui UI atau API.
Set nilai diberi nama unik dalam pustaka dan dapat diganti namanya, diurutkan ulang (hanya melalui git atau pembaruan dengan API definisi), atau dihapus (dengan perlindungan untuk mencegah penghapusan set aktif tanpa penetapan ulang). Sistem melacak perubahan dan memberlakukan batas ukuran untuk memastikan performa, dan modifikasi apa pun pada set nilai divalidasi sebelum disimpan. Struktur ini memungkinkan manajemen konfigurasi yang kuat, memungkinkan pengembang untuk mengotomatiskan penyebaran dan mempertahankan konsistensi di beberapa lingkungan dan tahapan.
Struktur dan Implementasi Set Nilai
Definisi item Pustaka Variabel disusun untuk mendukung beberapa set nilai. Dalam skema item (definisi JSON-nya), semua variabel dan nilai defaultnya tercantum di bagian utama (sering disebut file "Nilai default" di Git). Setiap set nilai tambahan disimpan sebagai entitas terpisah (atau file) yang hanya berisi variabel yang berbeda dari default. Dengan kata lain, jika nilai variabel dalam set nilai tertentu sama dengan default, nilai tersebut tidak diulang secara eksplisit dalam definisi kumpulan nilai tersebut.
Set Nilai Default: Selalu ada dan berisi nilai dasar setiap variabel (bersama dengan metadata seperti nama dan jenis). File nilai default menghitung semua variabel dengan nilai default (utama) mereka.
Set Nilai Alternatif: Untuk setiap set nilai tambahan (Misalnya, set nilai "Uji" atau "Prod"), definisi hanya mencantumkan variabel tersebut di mana nilai mengambil alih default. Jika variabel tidak tercantum dalam file kumpulan nilai tertentu, variabel tersebut secara implisit menggunakan nilai default untuk set tersebut.
Contoh: Jika Anda memiliki variabel ConnectionString dengan nilai default "dev-server", dan Anda membuat set nilai "Produksi" yang mengambil alih ini ke "prod-server", definisi Default akan memiliki ConnectionString = "dev-server", dan file set nilai "Produksi" akan berisi ConnectionString = "prod-server" (dan tidak ada untuk variabel yang tetap tidak berubah). Pendekatan ini menjaga definisi set nilai tetap ramping dan hanya menyoroti perbedaannya.
Representasi Kontrol Sumber
Dalam integrasi Git Fabric, skema di atas diterjemahkan ke beberapa file di bawah folder Pustaka Variabel. Secara desain, setiap set nilai diserialisasikan ke file JSON sendiri (dinamai sesuai kumpulan nilai) yang berisi penimpaannya, terpisah dari file nilai default. Misalnya, item VL "MyVars" mungkin memiliki:
MyVars_Default.json – nilai default semua variabel. MyVars_Prod.json – hanya variabel dengan nilai yang berbeda untuk tahap "Prod". MyVars_Test.json – hanya variabel dengan nilai yang berbeda untuk tahap "Uji".
Pemisahan yang jelas ini berarti Anda dapat melacak perubahan pada konfigurasi setiap lingkungan secara independen dalam kontrol sumber.
Pentingnya, pemilihan set nilai aktif bukan merupakan bagian dari file definisi ini – disimpan sebagai status item (pengaturan tingkat ruang kerja) sehingga proses penyebaran atau impor item tidak menimpa set nilai yang saat ini aktif di ruang kerja tertentu. (Selengkapnya tentang set nilai aktif di bawah ini.)
Skema dan Jenis Data
Kumpulan nilai tidak memperkenalkan jenis data baru; mereka menyimpan nilai dari jenis yang sama yang ditentukan oleh setiap variabel. Definisi item merekam nama, jenis, nilai default, dan catatan opsional setiap variabel. Jenis variabel kompleks seperti Referensi item memiliki skema terstruktur (menyimpan ID), tetapi nilai-nilai yang akan diwakili dalam setiap set nilai menggunakan struktur JSON yang konsisten (Misalnya, referensi item menyimpan ID ruang kerja + ID item untuk item tahap tersebut). Semua file set nilai mengikuti struktur skema yang sama dengan default: pada dasarnya pemetaan nama variabel ke nilai set tersebut (hanya termasuk yang menyimpang dari default).
Aturan penamaan untuk himpunan nilai
Nama nilai yang ditetapkan di dalam pustaka variabel harus mengikuti konvensi ini:
- Tidak kosong
- Tidak memiliki spasi di depan atau di belakang
- Dimulai dengan huruf atau garis bawah
- Dapat menyertakan huruf, angka, garis bawah, dan tanda hubung
- Panjangnya tidak melebihi 256 karakter
Setelah variabel memiliki nilai yang ditentukan, jika Anda mencoba mengubah jenisnya, dialog persetujuan akan muncul. Dialog memberi tahu Anda bahwa semua nilai variabel akan diatur ulang dan bahwa perubahan ini bisa menjadi perubahan yang melanggar di sisi item konsumen.
Pertimbangan dan keterbatasan
Batasan untuk set nilai alternatif
- Set nilai alternatif dalam pustaka variabel muncul dalam urutan Anda menambahkannya. Saat ini, Anda tidak dapat menyusun ulang di UI. Untuk mengubah urutan, edit file JSON secara langsung.
- Nama setiap set nilai harus unik dalam pustaka variabel.
- Nama variabel harus unik dalam pustaka variabel. Anda dapat memiliki dua variabel dengan nama yang sama di ruang kerja jika berada di item yang berbeda.
- Selalu ada satu (dan hanya satu) nilai aktif yang ditetapkan dalam pustaka variabel sekaligus. Anda tidak dapat menghapus nilai yang ditetapkan saat aktif. Untuk menghapusnya, pertama-tama konfigurasikan nilai lain yang diatur menjadi aktif. Anda dapat memiliki nilai aktif yang berbeda yang ditetapkan untuk setiap tahap alur penyebaran.