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

โครงสร้างไดเรกทอรีที่แนะนำ

ดูว่า Playbook รายการโฮสต์ และ vars ควรอยู่ที่ใด

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

เหตุใดโครงสร้างการจัดวางจึงสำคัญ

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

จุดเริ่มต้น site.yml

ตามธรรมเนียมแล้ว site.yml คือเพลย์บุ๊กระดับบนสุดที่เชื่อมโครงสร้างพื้นฐานทั้งหมดของคุณเข้าด้วยกันและรวมส่วนที่เหลือเข้ามา

# site.yml
- import_playbook: webservers.yml
- import_playbook: dbservers.yml

สินค้าคงคลังอยู่ที่ระดับราก

ไฟล์สินค้าคงคลังของคุณ (หรือไดเรกทอรี) อยู่ใกล้ระดับบนสุด เพื่อให้เพลย์บุ๊กที่อยู่ข้าง ๆ รู้เสมอว่าตนจัดการโฮสต์ใด

myproject/
  inventory
  site.yml

เพลย์บุ๊กแยกตามหน้าที่

แยกเพลย์ขนาดใหญ่ออกเป็นไฟล์ที่เน้นหน้าที่ เช่น webservers.yml และ dbservers.yml แล้วเชื่อมไฟล์เหล่านั้นเข้าด้วยกันจาก site.yml

ไดเรกทอรี group_vars

ไดเรกทอรี group_vars เก็บตัวแปรที่ใช้กับกลุ่มโฮสต์ทั้งกลุ่ม โดยโหลดโดยอัตโนมัติตามชื่อกลุ่ม

group_vars/
  webservers.yml
  dbservers.yml

ไดเรกทอรี host_vars

ไดเรกทอรี host_vars ทำสิ่งเดียวกันกับเครื่องแต่ละเครื่อง โดยมีไฟล์หนึ่งไฟล์ที่ตั้งชื่อตามโฮสต์แต่ละรายการ

host_vars/
  web01.example.com.yml

ไดเรกทอรี roles

ระบบอัตโนมัติที่นำกลับมาใช้ใหม่ได้จะอยู่ใต้ไดเรกทอรี roles Ansible จะค้นหาที่นี่ก่อนเมื่อเพลย์อ้างอิง role ด้วยชื่อ

roles/
  common/
  nginx/

ไลบรารีกำหนดเองและปลั๊กอิน

โฟลเดอร์ library เก็บโมดูลกำหนดเอง ส่วน module_utils หรือ filter_plugins ใช้เก็บโค้ดตัวช่วยร่วมที่ Ansible ค้นพบโดยอัตโนมัติ

วาง ansible.cfg ไว้ใกล้ตัว

วาง ansible.cfg ไว้ที่ระดับรากของโครงการ Ansible จะโหลดการตั้งค่าจากไดเรกทอรีปัจจุบัน ทำให้การตั้งค่าแยกอยู่ภายในโครงการ

# ansible.cfg
[defaults]
inventory = ./inventory
roles_path = ./roles

ที่เก็บเดียว เห็นภาพทั้งหมด

ด้วยโครงสร้างนี้ การโคลน git เพียงครั้งเดียวจะมอบเพลย์บุ๊ก สินค้าคงคลัง ตัวแปร และ role ให้เพื่อนร่วมทีมในโครงสร้างเดียวที่สอดคล้องกัน 🎯

โครงร่างทั้งหมด

นี่คือโครงร่างที่แนะนำตามเอกสารทางการ คุณควรจำโครงสร้างโดยรวม ไม่ใช่จำไฟล์ทุกไฟล์

myproject/
  ansible.cfg
  inventory
  site.yml
  group_vars/
  host_vars/
  roles/

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

ไฟล์ใดคือจุดเริ่มต้นระดับบนสุดตามธรรมเนียมสำหรับโครงการทั้งหมด

สรุปทบทวน

คุณได้เรียนรู้โครงสร้างมาตรฐานแล้ว: site.yml พร้อมสินค้าคงคลัง group_vars, host_vars และ roles ในที่เก็บเดียว โครงสร้างที่คาดเดาได้ช่วยให้ทีมของคุณขยายได้ ✅

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

บทเรียน “โครงสร้างไดเรกทอรีที่แนะนำ” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “โครงสร้างไดเรกทอรีที่แนะนำ”

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

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

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

บทเรียน “โครงสร้างไดเรกทอรีที่แนะนำ” ใช้เวลานานแค่ไหน

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

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

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

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

  1. โครงสร้างไดเรกทอรีที่แนะนำ
  2. ไดเรกทอรี group_vars และ host_vars
  3. แยก Playbook ด้วย import และ include
  4. การตั้งชื่อ คอมเมนต์ และรูปแบบที่ขยายได้
← กลับไปที่ Ansible Academy