0Pricing
DevOps Bootcamp · บทเรียน

ที่มาและลำดับความสำคัญของตัวแปร

แผนผังเบื้องต้นของแหล่งที่มาของตัวแปร

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

มีแหล่งที่มามากมาย

ตัวแปรเดียวกันอาจถูกกำหนดได้จากหลายที่ เช่น รายการโฮสต์ ตัวแปรของเพลย์ ไฟล์ CLI และอื่น ๆ แล้วค่าจากแหล่งใดจะมีผลจริง 🌟

ลำดับความสำคัญเป็นตัวตัดสิน

Ansible ใช้ลำดับตายตัวที่เรียกว่า ลำดับความสำคัญของตัวแปร เมื่อกำหนดชื่อเดียวกันซ้ำสองครั้ง แหล่งที่มาที่มีลำดับสูงกว่าจะเขียนทับแหล่งที่มาที่มีลำดับต่ำกว่า

ค่าเริ่มต้นของบทบาทมีลำดับต่ำสุด

ค่าภายในโฟลเดอร์ defaults ของบทบาทจะอยู่ล่างสุด ค่านี้มีจุดประสงค์ให้สิ่งอื่นแทนที่ได้ง่าย

# roles/web/defaults/main.yml
http_port: 80

ตัวแปรจากรายการโฮสต์

ตัวแปรที่กำหนดในรายการโฮสต์ เช่นใน group_vars หรือ host_vars จะมีลำดับสูงกว่าค่าเริ่มต้นของบทบาท แต่ต่ำกว่าตัวแปรระดับเพลย์

# group_vars/web.yml
http_port: 8080

ตัวแปรของเพลย์มีลำดับสูงกว่า

ตัวแปรใต้คีย์ vars ของเพลย์จะมีลำดับเหนือกว่าค่าจากรายการโฮสต์ กำหนดค่าไว้ที่นี่แล้วค่านั้นจะมีลำดับเหนือกว่าทุกอย่างใน group_vars

- hosts: web
  vars:
    http_port: 9090

ตัวแปรของงานมีขอบเขตแคบ

คุณสามารถแนบ vars ไว้กับงานเดียวได้ ค่านั้นจะมีผลเฉพาะที่นั่น และมีลำดับเหนือกว่าตัวแปรของเพลย์ที่มีขอบเขตกว้างกว่า

- debug:
    var: http_port
  vars:
    http_port: 1234

ค่าที่ลงทะเบียนและ set_fact

ค่าที่เก็บด้วย register หรือกำหนดระหว่างการทำงานด้วย set_fact จะอยู่ในลำดับที่สูง โดยอยู่ถัดลงมาจากตัวแปรเพิ่มเติม

- set_fact:
    http_port: 7000

ตัวแปรเพิ่มเติมอยู่บนสุด

ตัวแปรเพิ่มเติม จากบรรทัดคำสั่งมีลำดับเหนือกว่าทุกอย่าง ค่าที่ส่งด้วย -e จะเป็นคำตัดสินสุดท้ายสำหรับการทำงานครั้งนั้น

ansible-playbook site.yml -e http_port=443

คำจำกัดความสุดท้ายมีผลภายในระดับเดียวกัน

เมื่อแหล่งที่มาสองแห่งอยู่ในระดับเดียวกัน แหล่งที่มาที่โหลด ทีหลัง จะมีผล ใช้ลำดับความสำคัญก่อน แล้วใช้ลำดับการโหลดตัดสินกรณีเสมอกัน

ทำให้เรียบง่าย

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

ตรวจสอบค่าที่ได้รับ

ไม่แน่ใจว่าค่าใดมีผลใช่ไหม พิมพ์ค่าด้วย debug เพื่อดูผลลัพธ์ที่ได้รับการแก้ค่าก่อนนำไปใช้งานจริง

- debug:
    var: http_port

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

แหล่งที่มาของตัวแปรใดมีลำดับความสำคัญสูงสุด

สรุป

คุณได้ทำความเข้าใจลำดับความสำคัญเป็นขั้น ๆ แล้ว ได้แก่ defaults ต่ำสุด ตามด้วยตัวแปรจากรายการโฮสต์ ตัวแปรของเพลย์และงาน จากนั้นคือ set_fact และมีตัวแปรเพิ่มเติมอยู่บนสุด ✨

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

บทเรียน “ที่มาและลำดับความสำคัญของตัวแปร” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ที่มาและลำดับความสำคัญของตัวแปร”

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

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

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

บทเรียน “ที่มาและลำดับความสำคัญของตัวแปร” ใช้เวลานานแค่ไหน

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

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

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

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

  1. การกำหนดและใช้ vars ใน Play
  2. ไวยากรณ์การแทนที่ {{ }}
  3. ตัวแปรเพิ่มเติมบนบรรทัดคำสั่ง
  4. ที่มาและลำดับความสำคัญของตัวแปร
← กลับไปที่ DevOps Bootcamp