กำหนดตัวแปรของเทมเพลต
เก็บค่าไว้ใช้ซ้ำตลอดทั้งบล็อก
กำหนดตัวแปรของเทมเพลต เป็นบทเรียน Helm Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Helm Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Helm Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุผลที่ตัวแปรช่วยได้
เมื่อค่าเดียวกันปรากฏหลายครั้งในเทมเพลต ให้เก็บค่านั้นไว้ใน ตัวแปร เพียงครั้งเดียว เพื่อไม่ต้องเขียนเส้นทางยาว ๆ ซ้ำไปทั่ว
ไวยากรณ์การกำหนดค่า
คุณประกาศตัวแปรด้วยชื่อที่ขึ้นต้นด้วยเครื่องหมายดอลลาร์และตัวดำเนินการ := ใน Helm, $name จะเก็บนิพจน์ใด ๆ ที่อยู่ทางด้านขวา
{{ $name := .Values.appName }}ตัวแปรเริ่มต้นด้วยเครื่องหมายดอลลาร์
ตัวแปรของเทมเพลตทุกตัวต้องเขียนโดยมี เครื่องหมายดอลลาร์ นำหน้า นี่คือวิธีที่ Helm ใช้แยกตัวแปรของคุณออกจากฟิลด์ในบริบทของจุด
อ่านค่าตัวแปรกลับมา
เมื่อกำหนดค่าแล้ว ให้นำตัวแปรไปใส่ใน YAML เช่นเดียวกับค่าอื่น ๆ Helm จะแทนที่ด้วยผลลัพธ์ที่เก็บไว้ทุกตำแหน่งที่คุณเขียน $name
metadata:
name: {{ $name }}เก็บออบเจ็กต์ในตัว
ตัวแปรมีประโยชน์มากสำหรับนิพจน์ยาว ๆ ให้บันทึก ชื่อรีลีส ไว้ครั้งเดียว แล้วใช้ตัวแปรสั้น ๆ แทนการพิมพ์เส้นทางเต็มซ้ำอีก
{{ $rel := .Release.Name }}
name: {{ $rel }}-configเริ่มต้นด้วย := แล้วจึงใช้ =
ใช้เครื่องหมาย := เฉพาะเมื่อต้องการ ประกาศ ตัวแปรครั้งแรกเท่านั้น หากต้องการเปลี่ยนค่าในขอบเขตเดิมภายหลัง ให้กำหนดค่าใหม่ด้วยเครื่องหมายเท่ากับ
{{ $count := 1 }}
{{ $count = 3 }}ขอบเขตเป็นไปตามบล็อก
ตัวแปรจะมีอยู่ภายใน บล็อก ที่ประกาศตัวแปรนั้น หากกำหนดตัวแปรก่อน if หรือ range ตัวแปรจะยังมองเห็นได้ภายในบล็อกดังกล่าว
อยู่นอกขอบเขต ก็เข้าถึงไม่ได้
หากประกาศตัวแปรภายในบล็อก if ตัวแปรนั้นจะหายไปเมื่อบล็อกสิ้นสุดลง นอก ขอบเขต นั้น Helm จะมองไม่เห็นตัวแปรดังกล่าวเลย
ตั้งชื่อตัวแปรให้ชัดเจน
เลือกชื่อที่สั้นและสื่อความหมาย เช่น $fullName หรือ $port ชื่อ ตัวแปร ที่ชัดเจนช่วยให้เพื่อนร่วมทีมอ่านเทมเพลตได้ง่ายขึ้นมาก
ตัวแปรกับจุด
จุดอาจเปลี่ยนไปเมื่อคุณเข้าสู่บล็อกต่าง ๆ แต่ ตัวแปร จะยังคงค่าที่เก็บไว้ ความคงที่นี้เองคือเหตุผลที่ตัวแปรมีประโยชน์มาก
กำหนดค่าจากนิพจน์
ด้านขวาของการกำหนดค่าอาจเป็นนิพจน์ใด ๆ ก็ได้ แม้แต่นิพจน์ที่ส่งผ่านไพป์ Helm จะประมวลผลนิพจน์นั้นครั้งเดียว แล้วเก็บ ผลลัพธ์ ไว้ในตัวแปรของคุณ
{{ $port := .Values.port | default 8080 }}ตรวจสอบอย่างรวดเร็ว
ก่อนหน้านี้คุณเขียน {{ $svc := .Values.service.name }} ไว้ในเทมเพลตแล้ว
สรุป
ตอนนี้คุณสามารถประกาศตัวแปรด้วย := กำหนดค่าใหม่ด้วย = อ่านค่ากลับผ่านเครื่องหมายดอลลาร์ และเคารพขอบเขตของบล็อกได้แล้ว เทมเพลตที่เป็นระเบียบรออยู่ข้างหน้า! 🎯
คำถามที่พบบ่อย
บทเรียน “กำหนดตัวแปรของเทมเพลต” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กำหนดตัวแปรของเทมเพลต” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Helm Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Helm Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กำหนดตัวแปรของเทมเพลต”
เก็บค่าไว้ใช้ซ้ำตลอดทั้งบล็อก คุณปฏิบัติ Helm Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Helm Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Helm Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “กำหนดตัวแปรของเทมเพลต” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Helm Academy นี้ได้ไหม
ได้ บทเรียน Helm Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- กำหนดตัวแปรของเทมเพลต
- รักษาจุดหลักไว้ภายใน range
- nindent เทียบกับ indent ในการใช้งานจริง
- แก้ไขข้อผิดพลาดของช่องว่างที่ประมวลผลแล้ว