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

บล็อกเงื่อนไขด้วย if และ else

ประมวลผลทรัพยากรเฉพาะเมื่อมีการกำหนดค่า

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

แสดงผลเฉพาะเมื่อจำเป็น

บางครั้งทรัพยากรควรปรากฏขึ้นเฉพาะเมื่อผู้ใช้ร้องขอ Helm ให้คุณครอบ YAML ไว้ใน เงื่อนไข เพื่อให้แสดงผลเมื่อจำเป็น

คำสั่ง if

บล็อก if เริ่มต้นด้วย {{ if SOMETHING }} และปิดท้ายด้วย {{ end }} ทุกอย่างระหว่างนั้นจะแสดงผลก็ต่อเมื่อเงื่อนไขเป็นจริง

{{ if .Values.ingress.enabled }}
# ingress yaml here
{{ end }}

ขับเคลื่อนด้วยค่า

เงื่อนไขมักเป็นค่าที่ผู้ใช้กำหนด ให้เปลี่ยน ingress.enabled เป็น true ใน values.yaml แล้วไฟล์กำหนดทรัพยากรที่ครอบไว้จะปรากฏขึ้นทันที

ingress:
  enabled: true

ปิดท้ายด้วย end เสมอ

ทุก if ต้องจับคู่กับ {{ end }} หากลืมปิด Helm จะส่งข้อผิดพลาดเกี่ยวกับบล็อกที่ไม่ปิดเมื่อพยายามแสดงผล chart

การเพิ่ม else

ต้องการทางเลือกสำรองใช่ไหม ให้เพิ่มแขนง {{ else }} Helm จะแสดงผลบล็อกแรกเมื่อเงื่อนไขเป็นจริง มิฉะนั้นจะแสดงผลบล็อก else แทน

{{ if .Values.tls }}
protocol: HTTPS
{{ else }}
protocol: HTTP
{{ end }}

เชื่อมเงื่อนไขด้วย else if

สำหรับหลายกรณี ให้เชื่อมเงื่อนไขด้วย {{ else if }} Helm จะตรวจสอบตามลำดับและแสดงผลแขนงแรกที่มีเงื่อนไขเป็นจริง

{{ if eq .Values.tier "gold" }}
replicas: 5
{{ else if eq .Values.tier "silver" }}
replicas: 3
{{ else }}
replicas: 1
{{ end }}

อะไรถือว่าเป็นจริง

if จะเป็นจริงตราบใดที่ค่าไม่ใช่ ค่าว่าง โดย false, ศูนย์, สตริงว่าง หรือรายการว่าง ล้วนถูกอ่านเป็นเท็จในเงื่อนไข

ป้องกันฟิลด์ที่เป็นตัวเลือก

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

{{ if .Values.email }}
contact: {{ .Values.email }}
{{ end }}

ระวังบรรทัดว่าง

บล็อก if จะทิ้งบรรทัดว่างไว้ในตำแหน่งที่คำสั่งเคยอยู่ ช่องว่างเหล่านี้อาจทำให้ YAML ใช้งานไม่ได้ ดังนั้นอีกไม่นานคุณจะได้เรียนรู้วิธีตัดช่องว่างเหล่านี้ออก 🧹

ดูตัวอย่างแขนงต่าง ๆ

แสดงผลด้วยค่าที่แตกต่างกันและดูว่าแขนงใดถูกเลือก helm template ที่ใช้ร่วมกับ --set ช่วยให้คุณยืนยันแต่ละเงื่อนไขได้ก่อนนำไปติดตั้งจริง

helm template ./mychart --set ingress.enabled=true

กำหนดค่าเริ่มต้นให้แฟล็กที่หายไป

หากผู้ใช้ไม่เคยตั้งค่าแฟล็ก ค่านั้นจะถูกอ่านเป็นค่าว่างและ if จะยังคงเป็นเท็จ ด้วยเหตุนี้ chart จึงกำหนด ค่าเริ่มต้น ที่เหมาะสมไว้ให้ใน values.yaml

ingress:
  enabled: false

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

คุณเขียน {{ if .Values.cache }} แต่ chart แสดงผลไม่สำเร็จ

สรุป

ตอนนี้คุณสามารถควบคุมการแสดงผล YAML ด้วย if เพิ่มแขนง else และ else if และจำการปิดท้ายด้วย {{ end }} ได้แล้ว การแสดงผลตามเงื่อนไขพร้อมใช้งานแล้ว! 🎯

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

บทเรียน “บล็อกเงื่อนไขด้วย if และ else” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “บล็อกเงื่อนไขด้วย if และ else”

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

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

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

บทเรียน “บล็อกเงื่อนไขด้วย if และ else” ใช้เวลานานแค่ไหน

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

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

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

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

  1. บล็อกเงื่อนไขด้วย if และ else
  2. ค่าความจริงและตัวดำเนินการในเงื่อนไข
  3. วนซ้ำรายการและแผนที่ด้วย range
  4. กำหนด Scope ของบล็อกด้วย with
← กลับไปที่ DevOps Bootcamp