Mengendalikan Kegagalan: failed_when & ignore_errors
Tentukan hal yang dianggap sebagai kegagalan.
Mengendalikan Kegagalan: failed_when & ignore_errors 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.
Anda Menentukan Arti Kegagalan
Ansible menganggap tugas gagal jika kode kembalian tidak nol, tetapi Anda dapat mengubah perilaku itu. Dua kata kunci memungkinkan Anda mendefinisikan ulang kegagalan. 🎛️
ignore_errors Membuat Eksekusi Berlanjut
Atur ignore_errors ke true, lalu tugas yang gagal akan dicatat tetapi tidak menghentikan play. Host tersebut tetap berada dalam play.
- name: Try optional cleanup
ansible.builtin.command: /opt/maybe-missing
ignore_errors: trueTetap Ditampilkan sebagai Gagal
ignore_errors tidak menyembunyikan kegagalan; keluaran tetap menampilkan FAILED. Kata kunci ini hanya mencegah kegagalan menghentikan tugas-tugas berikutnya.
failed_when Mendefinisikan Ulang Kegagalan
Gunakan failed_when untuk menetapkan kondisi kegagalan Anda sendiri. Tugas hanya gagal ketika ekspresi Anda bernilai true.
- name: Check status
ansible.builtin.command: /opt/healthcheck
register: result
failed_when: result.rc > 1Pasangkan dengan register
failed_when biasanya memeriksa hasil yang disimpan: rc, stdout, atau stderr. Tangkap keluaran terlebih dahulu, lalu evaluasi hasilnya.
- ansible.builtin.command: grep ERROR app.log
register: out
failed_when: "'CRITICAL' in out.stdout"Jangan Pernah Gagalkan Tugas Ini
Atur failed_when ke false agar tugas tidak pernah gagal, bahkan ketika kodenya tidak nol. Ini lebih rapi daripada ignore_errors untuk perintah yang memang sering menghasilkan keluaran yang tidak perlu dikhawatirkan.
- ansible.builtin.command: pkill myapp
failed_when: falseCocokkan Beberapa Kondisi
failed_when dapat menerima daftar kondisi yang digabungkan dengan and, atau ekspresi gabungan dengan or untuk aturan yang lebih kaya.
failed_when:
- result.rc != 0
- "'skipped' not in result.stdout"changed_when Adalah Kerabatnya
changed_when yang terkait mengendalikan status perubahan, bukan kegagalan. Ini berguna untuk menandai tugas perintah sebagai tidak pernah mengubah apa pun.
- ansible.builtin.command: /opt/report
changed_when: falseignore vs failed_when
Gunakan failed_when ketika Anda dapat menjelaskan keberhasilan secara tepat; gunakan ignore_errors hanya untuk langkah yang benar-benar opsional dan dijalankan dengan upaya terbaik.
Cocok Dipasangkan dengan rescue
Daripada mengabaikan kesalahan, biarkan kegagalan nyata memicu blok rescue. Anda mendapatkan pemulihan, bukan pelewatan diam-diam. 🤝
Keduanya Berlaku per Tugas
failed_when dan ignore_errors sama-sama berada pada satu tugas, bukan seluruh play. Setiap tugas menentukan perilaku kegagalannya sendiri.
Pemeriksaan Singkat
Mari kita bandingkan kedua kata kunci tersebut.
Ringkasan
failed_when menentukan secara tepat kapan sebuah tugas gagal, sedangkan ignore_errors memungkinkan play terus berjalan setelah kegagalan. Anda yang mengatur aturannya. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengendalikan Kegagalan: failed_when & ignore_errors” gratis?
Ya — teks lengkap “Mengendalikan Kegagalan: failed_when & ignore_errors” 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 “Mengendalikan Kegagalan: failed_when & ignore_errors”?
Tentukan hal yang dianggap sebagai kegagalan. 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 “Mengendalikan Kegagalan: failed_when & ignore_errors” 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
- Mengelompokkan Tugas dengan block
- Try / Catch dengan rescue & always
- Mengendalikan Kegagalan: failed_when & ignore_errors
- Assertion Khusus dengan Modul fail