0Pricing
Ansible Academy · Pelajaran

Try / Catch dengan rescue & always

Pulihkan eksekusi dengan baik dari kegagalan.

Try / Catch dengan rescue & always adalah pelajaran Ansible Academy 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 Ansible Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ansible Academy 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: absent

Ketiganya 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 Ansible Academy, upgrade ke CoddyKit PRO. Kursus Ansible Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Try / Catch dengan rescue & always”?

Pulihkan eksekusi dengan baik dari 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 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 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

  1. Mengelompokkan Tugas dengan block
  2. Try / Catch dengan rescue & always
  3. Mengendalikan Kegagalan: failed_when & ignore_errors
  4. Assertion Khusus dengan Modul fail
← Kembali ke Ansible Academy