สภาพแวดล้อมและค่าแยกตามสภาพแวดล้อม
การเลื่อนการตั้งค่าเดียวกันจาก dev ไปยัง prod
สภาพแวดล้อมและค่าแยกตามสภาพแวดล้อม เป็นบทเรียน Helm Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Helm Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Helm Academy มีบทเรียนทั้งหมด 4 บทเรียน
สแตกเดียว หลายระยะ
สภาพแวดล้อมพัฒนา สเตจจิง และโปรดักชันใช้งานแอปเดียวกัน แต่มีการตั้งค่าต่างกัน สภาพแวดล้อมของ Helmfile ช่วยให้ไฟล์เดียวอธิบายทั้งหมดได้อย่างเป็นระเบียบ
บล็อกสภาพแวดล้อม
คุณประกาศแต่ละระยะไว้ภายใต้บล็อก สภาพแวดล้อม ระดับบนสุด สภาพแวดล้อมที่มีชื่อแต่ละรายการสามารถโหลดไฟล์ค่าเฉพาะของตัวเองได้
environments:
dev:
values:
- envs/dev.yaml
prod:
values:
- envs/prod.yamlเลือกด้วย -e
คุณเลือกสภาพแวดล้อมที่ใช้งานอยู่บนบรรทัดคำสั่งด้วย -e จากนั้น Helmfile จะโหลดเฉพาะค่าของสภาพแวดล้อมนั้น
helmfile -e prod syncโครงสร้าง .Environment.Values
ค่าที่โหลดแล้วจะอยู่ใน .Environment.Values คุณอ่านค่าเหล่านี้ได้ด้วยไวยากรณ์เทมเพลต Go ที่ใดก็ได้ใน helmfile.yaml
{{ .Environment.Values.replicaCount }}จำนวนเรพลิกาตามสภาพแวดล้อม
กรณีใช้งานที่พบบ่อยคือ สภาพแวดล้อมพัฒนาใช้เรพลิกาหนึ่งรายการ ส่วนโปรดักชันใช้หลายรายการ คุณสร้างเทมเพลตให้ค่าของ set มาจากสภาพแวดล้อม แทนการกำหนดค่าตายตัว
set:
- name: replicaCount
value: {{ .Environment.Values.replicaCount }}ฐานร่วม ค่าทับตามสภาพแวดล้อม
ระบุไฟล์ค่าพื้นฐานก่อน แล้วตามด้วยไฟล์ของสภาพแวดล้อม ไฟล์ สภาพแวดล้อมจะแทนที่เฉพาะคีย์ที่แตกต่าง ทำให้การตั้งค่าร่วมอยู่ในที่เดียว
values:
- envs/base.yaml
- envs/{{ .Environment.Name }}.yamlตัวช่วย .Environment.Name
.Environment.Name ให้ชื่อของสภาพแวดล้อมที่กำลังใช้งานเป็นสตริง เหมาะสำหรับใช้ตั้งชื่อ ป้ายกำกับ หรือเลือกพาธไฟล์แบบไดนามิก
namespace: app-{{ .Environment.Name }}สภาพแวดล้อมเริ่มต้น
กำหนดสภาพแวดล้อม เริ่มต้น เพื่อให้คำสั่ง helmfile แบบปกติยังทำงานได้โดยไม่ต้องใช้ -e ระบบจะใช้สภาพแวดล้อมนี้เมื่อไม่ได้ระบุสภาพแวดล้อม
environments:
default:
values:
- envs/dev.yamlค่าแบบฝังของสภาพแวดล้อม
ความแตกต่างเล็กน้อยสามารถเขียนแบบฝังไว้ใต้สภาพแวดล้อมแทนการใช้ไฟล์ได้ ใช้ ค่า พร้อมแผนที่สำหรับกำหนดเพียงหนึ่งหรือสองคีย์
environments:
prod:
values:
- replicaCount: 5เลื่อนสภาพแวดล้อมโดยไม่แยกโค้ด
เนื่องจากใช้ตรรกะร่วมกันและเปลี่ยนเฉพาะค่า คุณจึง เลื่อนรีลีสเดิมจากสภาพแวดล้อมพัฒนาไปยังโปรดักชันได้ด้วยการเปลี่ยน -e ไม่ใช่การคัดลอกไฟล์
เก็บข้อมูลลับไว้ภายนอก
ไฟล์ค่าสภาพแวดล้อมมักมีการตั้งค่าที่ละเอียดอ่อน เก็บ ข้อมูลลับจริงแบบเข้ารหัสหรือไว้ในคลังจัดเก็บข้อมูลลับ อย่าเก็บเป็นข้อความธรรมดาในไฟล์เหล่านี้บน Git
ตรวจสอบความเข้าใจอย่างรวดเร็ว
คุณต้องการติดตั้งระยะโปรดักชันของ helmfile.yaml จะเลือกสภาพแวดล้อมนั้นอย่างไร
สรุป: สภาพแวดล้อม
คุณได้เรียนรู้การกำหนด สภาพแวดล้อม การเลือกสภาพแวดล้อมด้วย -e และการอ่าน .Environment.Values เพื่อเลื่อนสแตกเดียวกันไปตามระยะต่าง ๆ ขั้นต่อไปคือการนำไปใช้ 🚀
คำถามที่พบบ่อย
บทเรียน “สภาพแวดล้อมและค่าแยกตามสภาพแวดล้อม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “สภาพแวดล้อมและค่าแยกตามสภาพแวดล้อม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Helm Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Helm Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “สภาพแวดล้อมและค่าแยกตามสภาพแวดล้อม”
การเลื่อนการตั้งค่าเดียวกันจาก dev ไปยัง prod คุณปฏิบัติ Helm Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Helm Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Helm Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “สภาพแวดล้อมและค่าแยกตามสภาพแวดล้อม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Helm Academy นี้ได้ไหม
ได้ บทเรียน Helm Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เหตุใด Helmfile จึงอยู่เหนือ Helm
- การกำหนดรีลีสใน helmfile.yaml
- สภาพแวดล้อมและค่าแยกตามสภาพแวดล้อม
- helmfile diff, apply และ sync