เรียกใช้งานเฉพาะเมื่อเป็น True
กำหนดให้งานทำงานตามเงื่อนไขบูลีน
เรียกใช้งานเฉพาะเมื่อเป็น True เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
งานที่ตัดสินใจได้
บางครั้งงานควรทำงานเฉพาะในบางกรณีเท่านั้น คีย์เวิร์ด when จะกำหนดให้งานทำงานตามเงื่อนไขที่คุณเลือก 🚦
คีย์เวิร์ด when
เพิ่ม when ให้กับงานใดก็ได้ หากนิพจน์เป็นจริง งานจะทำงาน หากเป็นเท็จ Ansible จะข้ามงานนั้นและทำงานต่อ
- name: Reboot the box
ansible.builtin.reboot:
when: reboot_requiredไม่ต้องใช้เครื่องหมายปีกกาคู่
ภายใน when ให้เขียนนิพจน์โดยตรง ต่างจากสตริง คุณไม่ต้องใช้เครื่องหมายปีกกาคู่ เพราะ when อยู่ในบริบท Jinja2 อยู่แล้ว
when: ansible_distribution == "Ubuntu"ตัวแปรที่มีค่าเป็นจริง
ตัวแปรบูลีนแบบง่ายสามารถใช้งานได้โดยตรง หาก install_extras เป็น true งานจะทำงาน มิฉะนั้นจะถูกข้ามไปอย่างเงียบ ๆ
- name: Add extra tools
ansible.builtin.package:
name: htop
when: install_extrasการเปรียบเทียบ
เงื่อนไขสามารถเปรียบเทียบค่าได้ ตัวดำเนินการอย่าง ==, !=, < และ > ช่วยกำหนดให้งานทำงานตามตัวเลขและสตริงได้ ⚖️
when: app_version == "2.0"ถูกข้ามกับทำงานล้มเหลว
งานที่ถูกข้ามไม่ถือว่าเป็นความล้มเหลว ในผลลัพธ์การทำงาน คุณจะเห็น skipping แทน ok หรือ changed และเพลย์จะทำงานต่อ
การปฏิเสธเงื่อนไข
ใช้ not เพื่อกลับค่าการทดสอบ งานนี้จะทำงานเฉพาะเมื่อบริการยังไม่ได้ติดตั้งอยู่แล้ว
when: not service_installedมีการกำหนดไว้หรือไม่
คุณสามารถตรวจสอบได้ว่ามีตัวแปรอยู่หรือไม่ การทดสอบ is defined ช่วยป้องกันข้อผิดพลาดจากตัวแปรที่ไม่ได้กำหนด
when: custom_port is definedwhen ทำงานแยกตามโฮสต์
แต่ละโฮสต์จะได้รับการประเมินแยกกัน เงื่อนไขหนึ่งอาจเป็นจริงบนเซิร์ฟเวอร์หนึ่งและเป็นเท็จบนอีกเซิร์ฟเวอร์หนึ่งภายใน play เดียวกัน
รักษาเงื่อนไขให้เรียบง่าย
เงื่อนไขที่อ่านง่ายมักเชื่อถือได้ หาก when ยาวเกินไป ให้แยกตรรกะออกเป็นส่วน ๆ หรือใช้ตัวแปรเพื่อสื่อเจตนา
มีเงื่อนไข ไม่ใช่คำสั่งเชิงขั้นตอน
when ช่วยให้เพลย์บุ๊กยังคงเป็นการประกาศเชิงพรรณนา คุณอธิบายกรณีที่ต้องการ แล้ว Ansible จะตัดสินใจแยกตามโฮสต์ ไม่จำเป็นต้องใช้บล็อก if หรือสคริปต์ที่มีการแตกแขนง 🎯
ตรวจสอบความเข้าใจ
มาทบทวนกันว่า when ทำงานอย่างไร
สรุป
คีย์เวิร์ด when จะทำให้งานทำงานก็ต่อเมื่อนิพจน์เป็นจริง หากเป็นเท็จ งานจะถูกข้าม ไม่ใช่ทำงานล้มเหลว และการประเมินจะทำแยกตามโฮสต์ ✅
คำถามที่พบบ่อย
บทเรียน “เรียกใช้งานเฉพาะเมื่อเป็น True” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เรียกใช้งานเฉพาะเมื่อเป็น True” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เรียกใช้งานเฉพาะเมื่อเป็น True”
กำหนดให้งานทำงานตามเงื่อนไขบูลีน คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “เรียกใช้งานเฉพาะเมื่อเป็น True” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม
ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เรียกใช้งานเฉพาะเมื่อเป็น True
- แยกแขนงตามข้อเท็จจริงของตระกูล OS
- รวมเงื่อนไขด้วย and / or
- ลงทะเบียนผลลัพธ์ แล้วจึงตัดสินใจ