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

การพึ่งพา Role ใน meta/main.yml

เชื่อมต่อ Role ที่ต้องใช้ Role อื่น

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

บทบาทที่ต้องพึ่งพาบทบาทอื่น

บทบาทบางอย่างจะทำงานได้ก็ต่อเมื่อมีบทบาทอื่นทำงานก่อน บทบาทแอปของคุณอาจต้องใช้บทบาทพื้นฐานเพื่อเสริมความปลอดภัยให้เซิร์ฟเวอร์ก่อนนำแอปไปใช้งาน

ทำความรู้จัก meta/main.yml

ทุกบทบาทสามารถมีไฟล์ meta/main.yml ได้ ไฟล์นี้เก็บข้อมูลเมตาของบทบาท เช่น ผู้เขียน แพลตฟอร์มที่รองรับ และสิ่งที่บทบาทนี้ต้องพึ่งพา

คีย์ dependencies

ภายใน meta/main.yml คีย์ dependencies จะแสดงรายการบทบาทที่ต้องทำงานก่อนบทบาทนี้ Ansible จะนำบทบาทเหล่านั้นไปใช้ก่อนโดยอัตโนมัติ

dependencies:
  - role: common
  - role: firewall

Dependencies ทำงานก่อน

เมื่อคุณนำบทบาทไปใช้ Ansible จะเรียกใช้ dependencies ที่ระบุไว้ก่อน ตามลำดับที่ปรากฏ จากนั้นจึงทำงานของบทบาทคุณเอง

ส่งตัวแปรให้ Dependency

คุณสามารถส่งตัวแปรให้ dependency ได้โดยตรงในรายการ บทบาทพื้นฐานจะทำงานด้วยการตั้งค่าที่ตรงกับความต้องการของบทบาทนี้พอดี

dependencies:
  - role: nginx
    vars:
      http_port: 8080

ห่วงโซ่ Dependency จริง

บทบาทเว็บแอปต้องพึ่งพา nginx ซึ่งต้องพึ่งพา common อีกทอดหนึ่ง เมื่อนำ webapp ไปใช้ ระบบจะแก้ไข chain ทั้งหมดจากบนลงล่างให้คุณ

Dependencies แบบมีเงื่อนไข

Dependency สามารถมีเงื่อนไข when ได้ จึงทำงานเฉพาะบนโฮสต์ที่ตรงเงื่อนไขเท่านั้น ตัวอย่างเช่น ข้ามบทบาทไฟร์วอลล์บนเครื่องพัฒนา

dependencies:
  - role: firewall
    when: env == 'prod'

Dependencies เป็นแบบคงที่

Dependencies ใน meta จะถูกแก้ไขก่อนเริ่มเพลย์ จึงไม่สามารถใช้ข้อเท็จจริงขณะทำงานที่รวบรวมภายหลังได้ ดังนั้นควรรักษาเงื่อนไขให้เรียบง่าย

Galaxy อ่าน meta ด้วย

เมื่อคุณติดตั้งบทบาทจาก Ansible Galaxy ระบบจะอ่าน meta/main.yml และดึง dependency ทุกตัวที่ระบุไว้โดยอัตโนมัติ

ระบุ Dependencies ตามความเป็นจริง

ระบุบทบาทเป็น dependency เฉพาะเมื่อจำเป็นต้องทำงานก่อนจริง ๆ เท่านั้น ห่วงโซ่ที่ซ่อนอยู่ทำให้ระบบอัตโนมัติเข้าใจและแก้ไขข้อผิดพลาดได้ยาก

ข้อมูล Galaxy ก็อยู่ที่นี่เช่นกัน

นอกจาก dependencies แล้ว meta/main.yml ยังเก็บ galaxy_info ซึ่งประกอบด้วยใบอนุญาต เวอร์ชัน Ansible ขั้นต่ำ และแพลตฟอร์ม ข้อมูลนี้อธิบายวิธีใช้บทบาท

ตรวจสอบอย่างรวดเร็ว

ลองนึกดูว่าคุณประกาศที่ใดว่าบทบาทหนึ่งต้องทำงานก่อนอีกบทบาทหนึ่ง

สรุป

แสดงรายการบทบาทที่จำเป็นไว้ใต้ dependencies ใน meta/main.yml แล้ว Ansible จะเรียกใช้ห่วงโซ่นั้นก่อน โดยอาจส่ง vars และเงื่อนไขเพิ่มเติมได้ 🔗

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

บทเรียน “การพึ่งพา Role ใน meta/main.yml” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การพึ่งพา Role ใน meta/main.yml”

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

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

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

บทเรียน “การพึ่งพา Role ใน meta/main.yml” ใช้เวลานานแค่ไหน

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

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

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

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

  1. การพึ่งพา Role ใน meta/main.yml
  2. defaults เทียบกับ vars: ลำดับการเขียนทับ
  3. include_role และ import_role ขณะทำงาน
  4. allow_duplicates และความทำซ้ำได้ของ Role
← กลับไปที่ Ansible Academy