Try / Catch dengan rescue & always
Pulihkan eksekusi dengan baik dari kegagalan.
Try / Catch dengan rescue & always 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.
Block Mendapat Perlindungan
Pasangkan block dengan rescue dan always untuk mendapatkan pola try, catch, dan finally bagi tugas Anda. Kegagalan menjadi dapat dipulihkan. 🛟
Bagian rescue
Jika ada tugas dalam block yang gagal, Ansible beralih ke rescue dan menjalankan tugas-tugas tersebut sebagai gantinya, seperti klausa catch.
- block:
- ansible.builtin.command: /opt/risky-step
rescue:
- ansible.builtin.debug:
msg: "Step failed, recovering"always Berjalan Apa Pun yang Terjadi
Bagian always berjalan baik saat block berhasil maupun gagal, sehingga cocok untuk pembersihan seperti menghapus berkas sementara.
- block:
- ansible.builtin.command: /opt/deploy
always:
- ansible.builtin.file:
path: /tmp/lock
state: absentKetiganya Bersama-sama
Gunakan block, rescue, dan always sebagai satu struktur: coba jalankan pekerjaan, tangkap kegagalan, lalu selalu selesaikan dengan bersih.
- block:
- ansible.builtin.command: /opt/deploy
rescue:
- ansible.builtin.debug:
msg: "Rolling back"
always:
- ansible.builtin.debug:
msg: "Done either way"rescue Mengatur Ulang Kegagalan
Jika rescue selesai dengan sukses, host tidak lagi dianggap gagal. Play berlanjut seolah-olah block telah berhasil.
Urutan Eksekusi
Tugas dalam block berjalan terlebih dahulu; jika terjadi kegagalan, sisa block dilewati dan rescue dimulai. always berjalan terakhir dalam setiap keadaan.
Saat rescue Juga Gagal
Jika tugas dalam rescue juga gagal, host ditandai sebagai gagal, tetapi always tetap berjalan sebelum play berhenti untuk host tersebut.
Periksa Kesalahan
Di dalam rescue, Anda dapat membaca ansible_failed_task dan ansible_failed_result untuk melihat tugas mana yang gagal dan alasannya.
- rescue:
- ansible.builtin.debug:
msg: "Failed task was {{ ansible_failed_task.name }}"Penggunaan Nyata: Pembatalan Perubahan
Pola klasiknya adalah menerapkan perubahan dalam block, membatalkannya dalam rescue, lalu memulai ulang atau membuka kunci dalam always. Pemulihan yang bersih pada setiap eksekusi.
Bukan Sekadar Menyembunyikan Kesalahan
rescue digunakan untuk pemulihan yang baik, bukan untuk membungkam kesalahan. Catat kegagalan dan perbaiki keadaan; jangan berpura-pura bahwa tidak terjadi masalah. ⚠️
Tanpa rescue, Eksekusi Berhenti Paksa
Tanpa bagian rescue, block yang gagal berperilaku seperti tugas yang gagal: eksekusi untuk host tersebut langsung berhenti.
Pemeriksaan Singkat
Mari kita pastikan cara kerja always.
Ringkasan
rescue menangani kegagalan block dan memulihkan host, sementara always selalu berjalan untuk pembersihan. Try, catch, finally untuk Ansible. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Try / Catch dengan rescue & always” gratis?
Ya — teks lengkap “Try / Catch dengan rescue & always” 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 “Try / Catch dengan rescue & always”?
Pulihkan eksekusi dengan baik dari kegagalan. 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 “Try / Catch dengan rescue & always” 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
- Mengelompokkan Tugas dengan block
- Try / Catch dengan rescue & always
- Mengendalikan Kegagalan: failed_when & ignore_errors
- Assertion Khusus dengan Modul fail