จัดกลุ่มงานด้วย block
รวมงานเพื่อใช้พฤติกรรมร่วมกัน
จัดกลุ่มงานด้วย block เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 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) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “จัดกลุ่มงานด้วย block”
รวมงานเพื่อใช้พฤติกรรมร่วมกัน คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “จัดกลุ่มงานด้วย block” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- จัดกลุ่มงานด้วย block
- Try / Catch ด้วย rescue และ always
- ควบคุมความล้มเหลว: failed_when และ ignore_errors
- การตรวจสอบแบบกำหนดเองด้วยโมดูล fail