วนซ้ำไฟล์ด้วย range บน .Files.Glob
การสร้าง ConfigMaps จากไดเรกทอรีของไฟล์
วนซ้ำไฟล์ด้วย range บน .Files.Glob เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
การรวมไฟล์ไว้ในชาร์ต
ชาร์ตสามารถจัดส่งไฟล์เพิ่มเติมไปพร้อมกับเทมเพลตได้ ออบเจ็กต์ .Files ช่วยให้เทมเพลตของคุณอ่านไฟล์ที่รวมไว้นั้นได้
การจับคู่ไฟล์ด้วย Glob
เมธอด .Files.Glob จะส่งคืนไฟล์ที่เส้นทางตรงกับรูปแบบที่กำหนด เช่น ไฟล์ทุกไฟล์ภายในไดเรกทอรีการตั้งค่า
{{ $files := .Files.Glob "configs/*.conf" }}การวนซ้ำรายการที่จับคู่ได้
ใช้ Glob คู่กับ range เพื่อวนซ้ำไฟล์ที่ตรงกันแต่ละไฟล์ โดยจะได้รับเส้นทางและไบต์ดิบของไฟล์นั้นภายในลูป
{{ range $path, $bytes := .Files.Glob "configs/*" }}การสร้าง ConfigMap
กรณีใช้งานทั่วไปคือการสร้าง ConfigMap หนึ่งรายการ โดยให้คีย์ข้อมูลเป็นชื่อไฟล์ และให้ค่าเป็นเนื้อหาของไฟล์
ทางลัด AsConfig
สำหรับกรณีนี้โดยเฉพาะ AsConfig จะแปลงผลลัพธ์จาก glob ให้เป็นบล็อกข้อมูลที่พร้อมใช้สำหรับ ConfigMap โดยตรง
data: {{ (.Files.Glob "configs/*").AsConfig | nindent 2 }}ซีเคร็ตด้วย AsSecrets
ฟังก์ชันพี่น้องของมันคือ AsSecrets ซึ่งจะเข้ารหัสไฟล์แต่ละไฟล์เป็น Base64 ทำให้สามารถใช้ผลลัพธ์จาก glob เติมทรัพยากร Secret ได้แทน
data: {{ (.Files.Glob "secret/*").AsSecrets | nindent 2 }}การใช้ชื่อฐาน
ภายในลูป คุณมักต้องการใช้เพียงชื่อไฟล์เป็นคีย์ ดังนั้นให้ใช้ฟังก์ชัน base เพื่อตัดส่วนไดเรกทอรีออก
{{ base $path }}: |การอ่านเนื้อหาของแต่ละไฟล์
ตัวแปรของลูปเป็นไบต์ดิบ ดังนั้นให้ส่งผ่าน toString หรือ nindent เพื่อจัดวางเนื้อหาใต้คีย์ของไฟล์นั้นอย่างเรียบร้อย
{{ $content | toString | nindent 4 }}รูปแบบ Glob เป็นเส้นทางสัมพัทธ์
รูปแบบ Glob จะอ้างอิงจาก รากของชาร์ต และจะข้ามไฟล์จุด ดังนั้นควรเก็บทรัพยากรที่รวมไว้ในโฟลเดอร์ที่ตั้งชื่ออย่างชัดเจน
รักษาความถูกต้องของผลลัพธ์
การเยื้องมีความสำคัญ ให้ใช้ nindent กับแต่ละบล็อก เพื่อให้คีย์และเนื้อหาที่สร้างขึ้นซ้อนอยู่ใต้ data ได้อย่างถูกต้อง
การอ่านไฟล์เดียว
เมื่อคุณต้องการไฟล์เพียงไฟล์เดียวแทนที่จะเป็นชุด .Files.Get จะส่งคืนเนื้อหาของไฟล์นั้นโดยตรง โดยไม่ต้องวนซ้ำเลย
{{ .Files.Get "configs/app.conf" }}ตรวจสอบอย่างรวดเร็ว
ตรวจสอบการค้นหาไฟล์ด้วย glob อย่างรวดเร็ว
สรุป
คุณได้เรียนรู้การเลือกไฟล์ที่รวมไว้ด้วย .Files.Glob การวนซ้ำด้วย range และการสร้าง ConfigMaps ผ่าน AsConfig หรือ AsSecrets 🎉
คำถามที่พบบ่อย
บทเรียน “วนซ้ำไฟล์ด้วย range บน .Files.Glob” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “วนซ้ำไฟล์ด้วย range บน .Files.Glob” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “วนซ้ำไฟล์ด้วย range บน .Files.Glob”
การสร้าง ConfigMaps จากไดเรกทอรีของไฟล์ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “วนซ้ำไฟล์ด้วย range บน .Files.Glob” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ผสานข้อมูลเชิงลึกด้วย mergeOverwrite และ dict
- tpl: ประมวลผลสตริงจากค่า
- วนซ้ำไฟล์ด้วย range บน .Files.Glob
- fail และตัวป้องกันการตรวจสอบแบบกำหนดเอง