defaults vs vars: Urutan Override
Rancang antarmuka variabel role yang bersih.
defaults vs vars: Urutan Override adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Dua Folder Variabel
Sebuah role dapat mendefinisikan variabel di dua tempat: defaults/main.yml dan vars/main.yml. Keduanya tampak serupa, tetapi berperilaku sangat berbeda.
defaults Bersifat Lunak
Nilai dalam defaults/main.yml berada pada tingkat prioritas terendah. Nilai tersebut merupakan saran yang mudah ditimpa oleh hampir semua sumber lain.
# defaults/main.yml
http_port: 80
workers: 4vars Bersifat Kuat
Nilai dalam vars/main.yml memiliki tingkat prioritas tinggi. Nilai tersebut merupakan keputusan tegas yang dipaksakan oleh role dan sulit ditimpa.
# vars/main.yml
config_path: /etc/myappdefaults Adalah API Publik Anda
Masukkan apa pun yang mungkin ingin disesuaikan pengguna ke dalam defaults. Ini menyampaikan pesan: ubahlah dengan bebas. Beginilah cara Anda merancang role yang ramah dan dapat digunakan kembali.
vars Adalah Konstanta Internal
Simpan vars untuk nilai yang diperlukan role agar dapat berfungsi tetapi tidak boleh diubah pengguna, seperti jalur internal atau nama paket yang tetap.
Timpa Default dengan Mudah
Pengguna dapat menimpa default dari group_vars, host_vars, play, atau baris perintah. Penimpaan yang paling sederhana langsung berlaku.
roles:
- role: web
vars:
http_port: 8080Menimpa Nilai vars Itu Sulit
vars milik role mengalahkan group_vars, host_vars, dan vars milik play. Hanya extra-vars pada baris perintah yang memiliki prioritas lebih tinggi, jadi gunakan vars dengan hemat.
Extra Vars Selalu Menang
Variabel yang diteruskan dengan -e pada baris perintah mengalahkan semua sumber lainnya, termasuk vars milik role. Variabel tersebut adalah penimpaan tertinggi.
ansible-playbook site.yml -e http_port=9090Urutan dalam Pikiran
Ingat urutannya: defaults di bagian bawah, lalu variabel inventaris dan play, kemudian vars milik role di dekat bagian atas, dan extra-vars di atas semuanya.
Tips Desain
Utamakan defaults untuk hampir semua hal. Gunakan vars hanya ketika sebuah nilai benar-benar harus dikunci. Role yang fleksibel membuat tim senang.
Dokumentasikan Defaults Anda
Berikan komentar pada setiap nilai dalam defaults/main.yml. Karena pengguna akan menyesuaikan nilai-nilai ini, catatan yang jelas membuat role Anda menjadi otomatisasi yang dapat menjelaskan dirinya sendiri.
Pemeriksaan Singkat
Pikirkan berkas mana yang paling mudah ditimpa oleh pengguna.
Ringkasan
Gunakan defaults untuk nilai yang dapat disesuaikan dan ditimpa pengguna, serta vars untuk konstanta internal yang dikunci. Extra-vars pada CLI mengalahkan semuanya. 🎚️
Pertanyaan yang Sering Diajukan
Apakah pelajaran “defaults vs vars: Urutan Override” gratis?
Ya — teks lengkap “defaults vs vars: Urutan Override” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “defaults vs vars: Urutan Override”?
Rancang antarmuka variabel role yang bersih. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “defaults vs vars: Urutan Override” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dependensi Role dalam meta/main.yml
- defaults vs vars: Urutan Override
- include_role & import_role saat Runtime
- allow_duplicates & Idempotensi Role