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

กับดักการเยื้องบรรทัดใน YAML ที่พบบ่อย

หลีกเลี่ยงข้อผิดพลาดที่ทำให้เอาต์พุตที่ประมวลผลแล้วใช้ไม่ได้

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

การเยื้องคือโครงสร้าง

ใน YAML ช่องว่างไม่ใช่เพียงการตกแต่ง การเยื้องเป็นตัวกำหนดเพียงอย่างเดียวว่าสิ่งใดซ้อนอยู่ใต้สิ่งใด ดังนั้นช่องว่างที่ผิดเพียงหนึ่งตำแหน่งอาจเปลี่ยนโครงสร้างแมนนิเฟสต์ทั้งหมดของคุณได้ 😬

เทมเพลตทำให้ซับซ้อนขึ้น

เมื่อแอ็กชันแทรกค่าหรือบล็อก ข้อความนั้นจะไปอยู่ที่คอลัมน์เดียวกับตำแหน่งของแอ็กชัน หากกะตำแหน่งผิด YAML ที่เรนเดอร์แล้วจะเสียหาย

ห้ามใช้แท็บ

YAML ห้ามใช้แท็บสำหรับการเยื้องโดยเด็ดขาด แท็บที่หลงเหลือเพียงหนึ่งตัวจะทำให้เกิดข้อผิดพลาดในการแยกวิเคราะห์ที่เข้าใจได้ยาก ดังนั้นให้ตั้งค่าเอดิเตอร์ให้แทรกช่องว่าง

แทรกบล็อก

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

{{ .Values.config | indent 4 }}

indent นับจำนวนช่องว่าง

ตัวเลขหลัง indent คือจำนวนช่องว่างที่จะเติมไว้หน้าทุกบรรทัดของค่า ให้ตรงกับระดับความลึกที่บล็อกควรอยู่

กับดักเรื่องบรรทัดใหม่

ข้อผิดพลาดที่พบบ่อยคือ indent ไม่ได้เพิ่มบรรทัดใหม่ไว้ข้างหน้า ทำให้บรรทัดแรกติดกับคีย์ YAML ของคุณ ปัญหานี้ทำให้เอกสารเสียหายโดยไม่แสดงข้อผิดพลาด

data:
{{ .Values.config | indent 2 }}

nindent ช่วยแก้ปัญหา

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

data: {{ .Values.config | nindent 2 }}

ระวังคอลัมน์ของแอ็กชัน

ช่องว่างหน้า {{ ในซอร์สของคุณส่งผลต่อบรรทัดที่แอ็กชันจะแสดงผล ควบคุมแอ็กชันต่าง ๆ ให้อยู่ในระดับความลึกที่ผลลัพธ์ควรอยู่

รายการต้องมีขีดกลาง

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

env:
{{ toYaml .Values.env | nindent 2 }}

เรนเดอร์แล้วตรวจดู

ข้อผิดพลาดด้านการเยื้องมองไม่เห็นในซอร์ส แต่เห็นได้ชัดในผลลัพธ์ ให้เรนเดอร์ชาร์ตแล้วตรวจดู YAML ดิบเพื่อหาบล็อกที่จัดแนวไม่ตรงกันได้อย่างรวดเร็ว 👀

helm template ./mychart

ให้ lint ช่วย

เรียกใช้ helm lint เพื่อค้นหาปัญหา YAML และการเยื้องจำนวนมาก ก่อนที่คุณจะลองติดตั้งชาร์ตบนคลัสเตอร์เสียอีก

helm lint ./mychart

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

บล็อกที่คุณแทรกยังคงต่อรวมเข้ากับคีย์ YAML ที่อยู่ด้านบน

สรุป

ตอนนี้คุณสามารถหลีกเลี่ยงกับดักคลาสสิกได้แล้ว ได้แก่ ห้ามใช้แท็บ ใช้ nindent สำหรับบล็อกที่จัดรูปแบบอย่างเรียบร้อย และเรนเดอร์หรือใช้ lint เพื่อตรวจสอบ YAML เสมอ 🎯

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

บทเรียน “กับดักการเยื้องบรรทัดใน YAML ที่พบบ่อย” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “กับดักการเยื้องบรรทัดใน YAML ที่พบบ่อย”

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

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

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

บทเรียน “กับดักการเยื้องบรรทัดใน YAML ที่พบบ่อย” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ไวยากรณ์ Action แบบวงเล็บปีกกาคู่
  2. ตัดช่องว่างด้วยเครื่องหมายขีด
  3. คอมเมนต์และการใส่เครื่องหมายคำพูดในเทมเพลต
  4. กับดักการเยื้องบรรทัดใน YAML ที่พบบ่อย
← กลับไปที่ DevOps Bootcamp