Modul template & File .j2
Terapkan file yang telah dirender ke host.
Modul template & File .j2 adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 1 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.
Berkas Statis Tidaklah Cukup
Modul copy mengirimkan berkas tanpa perubahan. Namun, berkas konfigurasi sering memerlukan port atau nama host yang berbeda di setiap server, sehingga salinan statis tidak memadai. 🤔
Memperkenalkan Modul template
Modul template terlebih dahulu merender berkas melalui Jinja2, mengisi variabel, lalu menyalin hasilnya ke host.
- name: Deploy config
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.confKonvensi .j2
Berkas sumber templat diakhiri dengan .j2 untuk menandainya sebagai Jinja2. Ini adalah konvensi, bukan aturan mutlak, tetapi semua orang mengikutinya.
src dan dest
src menunjuk ke berkas .j2 pada node pengendali Anda, sedangkan dest adalah jalur akhir pada host yang dikelola.
template:
src: app.conf.j2
dest: /etc/app/app.confLokasi Templat
Secara bawaan, Ansible mencari templat dalam direktori templates di sebelah playbook Anda atau di dalam peran. Tidak diperlukan awalan jalur.
templates/
nginx.conf.j2
site.ymlTemplat Minimal
Di dalam berkas .j2, teks biasa tetap seperti semula dan penanda {{ }} digantikan. Di sini variabel port menjadi angka nyata.
listen {{ http_port }};
server_name {{ domain }};Atur Izin Berkas
Seperti copy, template menerima owner, group, dan mode, sehingga berkas hasil render memiliki kepemilikan yang benar.
template:
src: app.conf.j2
dest: /etc/app.conf
mode: "0644"Validasi Sebelum Menulis
Opsi validate menjalankan perintah pemeriksaan pada berkas hasil render sebelum memasangnya, sehingga konfigurasi yang rusak tidak pernah dikirim.
template:
src: sshd.j2
dest: /etc/ssh/sshd_config
validate: "sshd -t -f %s"Templat Bersifat Idempoten
Jika keluaran hasil render sama dengan berkas yang sudah ada di host, template melaporkan ok dan tidak mengubah apa pun. Aman untuk dijalankan berulang kali.
Beri Notifikasi kepada Handler Saat Berubah
Pasangkan template dengan notify agar layanan hanya dimulai ulang ketika berkas konfigurasi benar-benar berubah. Pasangan yang sempurna.
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: restart nginxtemplate vs copy
Gunakan copy ketika sebuah berkas sama di semua tempat, dan gunakan template ketika bagian mana pun harus berbeda menurut host.
Pemeriksaan Singkat
Anda memerlukan berkas konfigurasi yang portnya berbeda untuk setiap server. Modul mana yang tepat?
Ringkasan
Anda telah mengenal modul template: modul ini merender berkas .j2 dengan Jinja2, menempatkannya di dest, mengatur izin, dan tetap idempoten. ✨
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Modul template & File .j2” gratis?
Ya — teks lengkap “Modul template & File .j2” 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 “Modul template & File .j2”?
Terapkan file yang telah dirender ke host. 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 1 dari 4.
Berapa lama pelajaran “Modul template & File .j2” 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
- Modul template & File .j2
- Variabel & Ekspresi dalam Jinja2
- Blok Loop & if dalam Template
- Filter: default, join & upper