0Pricing
Helm Academy · บทเรียน

สภาพแวดล้อมและค่าแยกตามสภาพแวดล้อม

การเลื่อนการตั้งค่าเดียวกันจาก 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. เหตุใด Helmfile จึงอยู่เหนือ Helm
  2. การกำหนดรีลีสใน helmfile.yaml
  3. สภาพแวดล้อมและค่าแยกตามสภาพแวดล้อม
  4. helmfile diff, apply และ sync
← กลับไปที่ Helm Academy