0Pricing
Ansible Academy · บทเรียน

จัดกลุ่มงานด้วย block

รวมงานเพื่อใช้พฤติกรรมร่วมกัน

จัดกลุ่มงานด้วย block เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

งานที่ควรอยู่ร่วมกัน

งานบางอย่างรวมกันเป็นหน่วยเดียวได้อย่างเป็นธรรมชาติ คีย์เวิร์ด block ใช้จัดกลุ่มงานหลายงาน เพื่อให้ใช้การตั้งค่าและพฤติกรรมร่วมกันได้ 📦

ลักษณะของบล็อก

บล็อกคือรายการงานที่ซ้อนอยู่ภายใต้คีย์ block เดียว งานเหล่านี้จะทำงานจากบนลงล่างเช่นเดียวกับงานทั่วไป

- name: Set up the app
  block:
    - name: Install package
      ansible.builtin.package:
        name: nginx
    - name: Start service
      ansible.builtin.service:
        name: nginx
        state: started

ใช้คำสั่งกำกับร่วมกันครั้งเดียว

คำสั่งกำกับที่กำหนดในบล็อกจะมีผลกับงานทุกงานภายใน ให้กำหนด become หรือ when เพียงครั้งเดียว แทนการเขียนซ้ำในแต่ละงาน

- block:
    - ansible.builtin.package:
        name: nginx
    - ansible.builtin.service:
        name: nginx
        state: started
  become: true

เงื่อนไข when ร่วมกัน

ใส่ when ไว้ในบล็อก แล้ว Ansible จะนำเงื่อนไขนั้นไปใช้กับงานย่อยทั้งหมด กลุ่มงานทั้งหมดจะทำงานหรือถูกข้ามไปพร้อมกัน

- block:
    - ansible.builtin.package:
        name: httpd
    - ansible.builtin.service:
        name: httpd
        state: started
  when: ansible_os_family == "RedHat"

ป้ายกำกับบนทั้งบล็อก

ป้ายกำกับบนบล็อกจะติดป้ายกำกับให้งานทุกงานภายใน ป้ายกำกับเดียวช่วยให้คุณเรียกใช้หรือข้ามทั้งกลุ่มด้วย --tags ได้

- block:
    - ansible.builtin.package:
        name: nginx
  tags:
    - webserver

บล็อกตั้งชื่อได้

กำหนด name ให้บล็อกเพื่อให้ผลลัพธ์อ่านง่าย ชื่อนี้จะปรากฏในบันทึกการทำงานและช่วยบอกกรอบของงานที่อยู่ภายใน

- name: Configure web server
  block:
    - ansible.builtin.template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf

บล็อกไม่ใช่วงวน

บล็อกมีหน้าที่จัดกลุ่มงาน ไม่ได้ทำให้งานทำซ้ำ หากต้องการเรียกใช้บล็อกหลายครั้ง คุณยังต้องใช้การวนซ้ำกับงานแต่ละงานภายในบล็อก

การสืบทอด ไม่ใช่การเขียนทับ

คำสั่งกำกับของบล็อกจะถูกสืบทอดโดยงานต่าง ๆ งานหนึ่งยังสามารถกำหนด when ของตัวเองได้ ซึ่งจะรวมกับเงื่อนไขของบล็อกด้วย and เชิงตรรกะ

การซ้อนบล็อก

บล็อกสามารถมีบล็อกอื่นอยู่ภายในได้ การซ้อนช่วยจำกัดขอบเขตการตั้งค่าให้แคบลง แต่ควรซ้อนให้ตื้นเพื่อให้เพลย์บุ๊กอ่านง่าย

พลังที่แท้จริง: การจัดการข้อผิดพลาด

การจัดกลุ่มมีประโยชน์ แต่บล็อกจะแสดงความสามารถได้เต็มที่เมื่อใช้คู่กับ rescue และ always ทั้งสองเปลี่ยนกลุ่มงานให้เป็นหน่วยแบบ try และ catch ซึ่งเราจะเรียนรู้ต่อไป 🛟

บล็อกอยู่ที่ใด

บล็อกอยู่ในรายการงานของเพลย์ ตรงตำแหน่งเดียวกับที่งานเดี่ยวจะอยู่ ทุกที่ที่วางงานได้ ก็วางบล็อกได้เช่นกัน

ตรวจสอบสั้น ๆ

มาดูกันว่า block ทำงานอย่างไร

สรุป

บล็อกจัดกลุ่มงานไว้ภายใต้คีย์เดียว เพื่อให้ใช้คำสั่งกำกับอย่าง become, when และ tags ร่วมกันได้ และยังเปิดใช้การจัดการข้อผิดพลาด ✅

คำถามที่พบบ่อย

บทเรียน “จัดกลุ่มงานด้วย block” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “จัดกลุ่มงานด้วย block” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “จัดกลุ่มงานด้วย block”

รวมงานเพื่อใช้พฤติกรรมร่วมกัน คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “จัดกลุ่มงานด้วย block” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม

ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. จัดกลุ่มงานด้วย block
  2. Try / Catch ด้วย rescue และ always
  3. ควบคุมความล้มเหลว: failed_when และ ignore_errors
  4. การตรวจสอบแบบกำหนดเองด้วยโมดูล fail
← กลับไปที่ Ansible Academy