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

ประตูตรวจสอบและสร้างแม่แบบใน CI

ทำให้การสร้างล้มเหลวตั้งแต่เนิ่น ๆ เมื่อแผนภูมิไม่ถูกต้อง

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

ตรวจจับข้อผิดพลาดก่อนถึงคลัสเตอร์

ชาร์ตที่เสียควรทำให้ กระบวนการทำงานของคุณล้มเหลว ไม่ใช่คลัสเตอร์โปรดักชัน การตรวจสอบใน CI ช่วยให้ปฏิเสธชาร์ตที่ไม่ถูกต้องได้ทันทีที่มีการเปิดคำขอรวมโค้ด 🛡️

helm lint คือด่านแรกของคุณ

คำสั่ง helm lint ทำการตรวจสอบแบบคงที่กับชาร์ต โดยตรวจสอบโครงสร้าง ฟิลด์ที่จำเป็น และปัญหาทั่วไปด้านแนวปฏิบัติที่ดี โดยไม่แตะต้องคลัสเตอร์ใด ๆ

helm lint ./mychart

lint ตรวจสอบอะไรบ้าง

Lint จะแจ้งเตือนเมื่อฟิลด์ใน Chart.yaml หายไป เทมเพลตไม่สามารถแยกวิเคราะห์ได้ หรือไอคอนไม่ใช่ URL คำสั่งนี้ทำงานรวดเร็วและไม่ต้องเชื่อมต่อกับ Kubernetes

โหมดเข้มงวดเปลี่ยนคำเตือนเป็นข้อผิดพลาด

เพิ่ม --strict เพื่อให้คำเตือนจาก lint ทำให้การทำงานล้มเหลวด้วย ใน CI คุณต้องการให้บิลด์เป็นสีแดงเมื่อพบสิ่งน่าสงสัย ไม่ใช่คำเตือนเงียบ ๆ ที่ไม่มีใครอ่าน

helm lint --strict ./mychart

Lint ด้วยค่าจริง

ส่ง -f เพื่อให้ lint ตรวจสอบโดยใช้ค่าที่รีลีสจะใช้งานจริง ชาร์ตอาจถูกต้องเมื่อไม่มีค่า แต่พังได้เมื่อผสานค่าของโปรดักชันเข้าไป

helm lint -f values-prod.yaml ./mychart

ด่านที่สอง: helm template

หลังจาก lint ผ่านแล้ว ให้เรียกใช้ helm template เพื่อสร้างแมนนิเฟสต์ทุกตัวภายในเครื่อง หากการสร้างเทมเพลตล้มเหลว กระบวนการทำงานจะหยุดก่อนสิ่งใดจะไปถึง Kubernetes

helm template ./mychart > rendered.yaml

เหตุผลที่ template ตรวจจับได้มากกว่า

Lint ตรวจสอบได้เพียงระดับพื้นฐาน ส่วน helm template จะประเมินตรรกะเทมเพลต Go ของคุณทั้งหมด ข้อผิดพลาดใน range หรือค่าที่เป็น nil จะแสดงที่นี่ ไม่ใช่ตอนติดตั้ง

รหัสจบการทำงานเป็นตัวควบคุมด่านตรวจสอบ

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

ตรวจสอบ YAML ที่สร้างแล้วกับ API

ส่งเอาต์พุตที่สร้างแล้วต่อไปยัง kubeval หรือ kubeconform เพื่อยืนยันว่าตรงกับสคีมาจริงของ Kubernetes วิธีนี้ช่วยตรวจจับชื่อฟิลด์ที่ไม่ถูกต้องได้ตั้งแต่เนิ่น ๆ

helm template ./mychart | kubeconform -strict

เชื่อมเข้ากับขั้นตอน CI

เรียงด่านตรวจสอบทั้งหมดไว้ในงานเดียว เพื่อให้ความล้มเหลวหยุดขั้นตอนที่เหลือ ในตัวรันส่วนใหญ่ && จะหยุดเมื่อพบรหัสจบการทำงานที่ไม่ใช่ศูนย์ ทำให้ได้รับผลตอบกลับอย่างรวดเร็ว

helm lint --strict ./mychart && helm template ./mychart > /dev/null

เรียกใช้ด่านตรวจสอบกับคำขอรวมโค้ดทุกครั้ง

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

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ด่านตรวจสอบใดประเมินตรรกะเทมเพลต Go ทั้งหมดเพื่อจับนิพจน์ range ที่ไม่ถูกต้อง

สรุป: ล้มเหลวอย่างรวดเร็วใน CI

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

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

บทเรียน “ประตูตรวจสอบและสร้างแม่แบบใน CI” ฟรีหรือไม่

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

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

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

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

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

บทเรียน “ประตูตรวจสอบและสร้างแม่แบบใน CI” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ประตูตรวจสอบและสร้างแม่แบบใน CI
  2. การดูตัวอย่างการเปลี่ยนแปลงด้วย helm diff
  3. การติดตั้งใช้งานอัตโนมัติด้วย upgrade --install --atomic
  4. การเผยแพร่แผนภูมิจากงานรีลีส
← กลับไปที่ DevOps Bootcamp