Memisahkan Playbook dengan import & include
Penyertaan tugas statis vs dinamis.
Memisahkan Playbook dengan import & include adalah pelajaran Ansible Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Ansible Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ansible Academy mencakup 4 pelajaran total.
Satu Berkas Raksasa Menyulitkan
Buku otomasi sepanjang 500 baris sulit dibaca dan digunakan kembali. Ansible memungkinkan Anda memecah pekerjaan menjadi beberapa bagian dan memasukkannya saat diperlukan. ✂️
Dua Keluarga: import dan include
Ansible menyediakan dua gaya penggunaan ulang: import_* untuk penyertaan statis dan include_* untuk penyertaan dinamis. Perbedaannya terletak pada waktu pemrosesan.
import_tasks Statis
import_tasks diproses terlebih dahulu saat playbook diurai, sebelum tugas apa pun dijalankan. Hasilnya tetap dan mudah diprediksi.
- import_tasks: setup.ymlinclude_tasks Dinamis
include_tasks diproses saat runtime, secara berurutan, sehingga dapat merespons variabel dan hasil yang ditentukan sebelumnya dalam play.
- include_tasks: "{{ os_family }}.yml"Mengapa Waktu Pemrosesan Penting
Karena import bersifat statis, Anda tidak dapat menggunakan variabel runtime dalam nama berkasnya. Untuk itu, Anda memerlukan include_tasks yang dinamis.
Perulangan Memerlukan include
Ingin mengulang seluruh berkas? Hanya include_tasks yang mendukung loop, karena kumpulan berkas ditentukan saat play berjalan.
- include_tasks: user.yml
loop: "{{ users }}"Tag Berperilaku Berbeda
Tag pada import_tasks berlaku untuk setiap tugas yang diimpor, sedangkan tag pada include_tasks hanya berlaku untuk pernyataan include itu sendiri.
Mengimpor Seluruh Playbook
Pada tingkat teratas, gunakan import_playbook untuk menggabungkan seluruh playbook. Begitulah site.yml menyusun proyek Anda.
- import_playbook: webservers.yml
- import_playbook: dbservers.ymlPenggunaan Ulang di Berbagai Play
Berkas tugas bersama seperti bootstrap umum dapat diimpor ke banyak playbook, sehingga Anda menulis logika sekali dan menggunakannya kembali di mana saja.
Pilihan Bawaan yang Masuk Akal
Utamakan import untuk langkah yang selalu dijalankan dan dapat diprediksi. Gunakan include hanya saat Anda benar-benar memerlukan keputusan runtime seperti loop atau nama berkas yang berasal dari variabel.
Pemisahan dalam Praktik
Di sini, sebuah play mengimpor berkas penyiapan statis, lalu menyertakan berkas khusus OS secara kondisional. Dua alat, dua tugas. 🎯
tasks:
- import_tasks: base.yml
- include_tasks: "{{ ansible_os_family }}.yml"Pemeriksaan Singkat
Anda memerlukan nama berkas yang dibentuk dari variabel runtime. Direktif mana yang berfungsi?
Ringkasan
Anda telah mempelajari bahwa import_* bersifat statis dan diurai sejak awal, sedangkan include_* bersifat dinamis dan dijalankan di tempatnya, sehingga mendukung loop dan nama berkas dari variabel. ✅
Belajar YAML dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memisahkan Playbook dengan import & include” gratis?
Ya — teks lengkap “Memisahkan Playbook dengan import & include” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ansible Academy, upgrade ke CoddyKit PRO. Kursus Ansible Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Memisahkan Playbook dengan import & include”?
Penyertaan tugas statis vs dinamis. Kamu berlatih Ansible Academy 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 Ansible Academy?
Tidak diperlukan pengalaman sebelumnya. Ansible Academy 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 3 dari 4.
Berapa lama pelajaran “Memisahkan Playbook dengan import & include” 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 Ansible Academy ini?
Ya. Setiap pelajaran Ansible Academy 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
- Tata Letak Direktori yang Disarankan
- Direktori group_vars & host_vars
- Memisahkan Playbook dengan import & include
- Penamaan, Komentar & Gaya yang Mudah Dikembangkan