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

แท็กพิเศษ always และ never

บังคับหรือบล็อกงานโดยไม่คำนึงถึงเงื่อนไข

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

ป้ายกำกับที่สงวนไว้สองรายการ

Ansible สงวนชื่อป้ายกำกับพิเศษสองชื่อที่มีพฤติกรรมในตัว ได้แก่ always และ never ทั้งสองไม่ใช่ตัวกรอง แต่เป็นกฎการทำงาน 🔒

always ทำงานทุกครั้ง

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

- name: Gather setup
  ansible.builtin.setup:
  tags:
    - always

การข้าม always

มีทางเลือกหนึ่งสำหรับยกเว้น: การส่ง --skip-tags always จะยกเว้นแม้แต่งานเหล่านั้นเมื่อจำเป็นจริง ๆ

ansible-playbook site.yml --skip-tags always

การใช้งาน always ที่เหมาะสม

การโหลดตัวแปรหรือข้อเท็จจริงที่งานถัดไปต้องพึ่งพาเหมาะกับ always อย่างยิ่ง เพราะข้อมูลเหล่านี้จะมีอยู่เสมอไม่ว่าคุณจะกรองอย่างไร

- ansible.builtin.include_vars: app.yml
  tags:
    - always

never ยังคงซ่อนอยู่

งานที่ติดป้ายกำกับ never จะถูกข้ามตามค่าเริ่มต้น และจะทำงานก็ต่อเมื่อคุณเรียกใช้โดยระบุป้ายกำกับนั้นหรือป้ายกำกับอื่นของงานอย่างชัดเจน

- name: Wipe database
  ansible.builtin.command: drop-all
  tags:
    - never
    - debug

เลือกใช้ never

หากต้องการเรียกใช้งาน never ให้ระบุชื่อโดยตรงด้วย --tags การเรียกใช้งานนี้จะยกเลิกการข้ามตามค่าเริ่มต้น

ansible-playbook site.yml --tags debug

ใช้ never กับขั้นตอนที่เป็นอันตราย

ใช้ never เพื่อป้องกันงานที่มีความเสี่ยงหรือจำเป็นต้องใช้ไม่บ่อย เช่น การล้างข้อมูลแบบทำลาย เพื่อไม่ให้ทำงานโดยบังเอิญ

จับคู่ never กับป้ายกำกับจริง

เพิ่มป้ายกำกับที่สองให้กับงาน never ด้วย จากนั้นคุณจะเรียกใช้งานผ่านชื่อที่เข้าใจง่ายนั้น ขณะที่ never ยังคงป้องกันไม่ให้ทำงานตามค่าเริ่มต้น

always เหนือกว่าการเลือก

แม้คุณจะเรียกใช้ --tags config งานที่มีป้ายกำกับ always ทุกงานก็ยังทำงานร่วมกับงานที่เลือกไว้ เพราะ always มีผลเพิ่มเติมจากการเลือก

ค่าเริ่มต้นที่ตรงข้ามกันสองแบบ

โปรดจำความสมมาตรนี้ไว้: always ทำให้งานถูกเลือกให้ทำงานเว้นแต่จะถูกข้าม ส่วน never ทำให้งานถูกยกเว้นเว้นแต่จะมีการเรียกใช้อย่างชัดเจน

งานล้างข้อมูลอย่างปลอดภัย

งานที่ทำลายข้อมูลนี้มีทั้ง never และป้ายกำกับ cleanup จึงทำงานเฉพาะเมื่อคุณตั้งใจเรียกใช้การล้างข้อมูลเท่านั้น 🛡️

- name: Reset state
  ansible.builtin.command: reset.sh
  tags:
    - never
    - cleanup

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

งานหนึ่งติดป้ายกำกับไว้เพียง never งานนั้นจะทำงานเมื่อใด

สรุป

คุณได้เรียนรู้ว่า always จะทำงานเว้นแต่ถูกข้าม และ never จะยังไม่ทำงานจนกว่าคุณจะเรียกใช้ป้ายกำกับอย่างชัดเจน ซึ่งช่วยป้องกันงานที่มีความเสี่ยง ✅

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

บทเรียน “แท็กพิเศษ always และ never” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “แท็กพิเศษ always และ never”

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

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

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

บทเรียน “แท็กพิเศษ always และ never” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ติดแท็ก Tasks, Plays และ Roles
  2. กรองการทำงานด้วย --tags และ --skip-tags
  3. แท็กพิเศษ always และ never
  4. แสดงแท็กและงานก่อนเรียกใช้
← กลับไปที่ Ansible Academy