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

GitOps และระบบอัตโนมัติสำหรับคำขอดึง

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

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

GitOps คืออะไร

GitOps ทำให้ Git เป็นแหล่งข้อมูลจริงเพียงแหล่งเดียวสำหรับโครงสร้างพื้นฐาน ทุกการเปลี่ยนแปลงคือ pull request และการผสานเข้ากับสาขาหลักจะเป็นตัวขับเคลื่อนการ apply จะไม่มีการเปลี่ยนแปลงด้วยตนเองในคอนโซล

สร้างแผนเมื่อเปิด Pull Request

แนวคิดหลักคือ เมื่อมีการเปิด PR, CI จะเรียกใช้ terraform plan และโพสต์ผลลัพธ์เป็นความคิดเห็น ผู้ตรวจสอบจะเห็นสิ่งที่จะเปลี่ยนแปลงอย่างชัดเจนก่อนอนุมัติ

นำไปใช้เมื่อผสาน

เมื่อ PR ถูกผสานเข้ากับ main แล้ว ขั้นตอนการทำงานแยกต่างหากจะเรียกใช้ terraform apply พร้อมแผนที่บันทึกไว้ ประวัติ Git จะกลายเป็นบันทึกการตรวจสอบการเปลี่ยนแปลงโครงสร้างพื้นฐานทุกครั้ง

งานสร้างแผนของ GitHub Actions

ขั้นตอนการทำงานนี้ทำงานเมื่อมี pull request และสร้างสิ่งที่ส่งออกของแผน

on:
  pull_request:
    branches: [main]

jobs:
  plan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: hashicorp/setup-terraform@v3
      - run: terraform init
      - run: terraform plan -out=tfplan

โพสต์แผนไปยัง PR

บันทึกแผนในรูปแบบที่มนุษย์อ่านได้ แล้วโพสต์เป็นความคิดเห็น เพื่อให้ผู้ตรวจสอบไม่ต้องเปิดบันทึกของ CI

terraform show -no-color tfplan > plan.txt

บันทึกสิ่งที่ส่งออกของแผน

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

- uses: actions/upload-artifact@v4
  with:
    name: tfplan
    path: tfplan

ขั้นตอนการทำงานสำหรับการนำไปใช้

การพุชไปยัง main จะดาวน์โหลดแผนที่อนุมัติแล้วและนำไปใช้โดยไม่ขอการยืนยัน

on:
  push:
    branches: [main]

jobs:
  apply:
    runs-on: ubuntu-latest
    steps:
      - run: terraform apply -auto-approve tfplan

ตรวจจับการเปลี่ยนแปลงนอกแผนตามกำหนดเวลา

เรียกใช้แผนทุกคืนเพื่อตรวจจับการเปลี่ยนแปลงนอกแผน หรือการเปลี่ยนแปลงด้วยตนเองที่แตกต่างจากโค้ด หากแผนตามกำหนดเวลาแสดงว่ามีการเปลี่ยนแปลง ให้แจ้งเตือนทีม

on:
  schedule:
    - cron: "0 2 * * *"

เลื่อนระดับสภาพแวดล้อม

GitOps เลื่อนโค้ดเดียวกันผ่านสภาพแวดล้อมต่าง ๆ โดยใช้สาขาหรือไดเรกทอรี การเปลี่ยนแปลงจะผสานเข้า dev และผ่านการตรวจสอบ จากนั้นจึงเลื่อนไปยัง prod ผ่าน PR อีกรายการ

envs/
  dev/main.tf
  staging/main.tf
  prod/main.tf

การตรวจสอบที่จำเป็นและการป้องกันสาขา

ป้องกัน main เพื่อไม่ให้เกิดการ apply หากไม่มีการตรวจสอบที่อนุมัติแล้วและแผนที่ผ่าน การป้องกันสาขาจะบังคับใช้ข้อกำหนดนี้ในระดับแพลตฟอร์ม

Atlantis และ GitOps ที่มีการจัดการ

เครื่องมืออย่าง Atlantis และการผสานรวม VCS ของ Terraform Cloud ช่วยทำให้ขั้นตอนทั้งหมดนี้เป็นอัตโนมัติ รวมถึงคำสั่ง atlantis apply ที่ขับเคลื่อนด้วยความคิดเห็นโดยตรงใน PR

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

ทดสอบความเข้าใจเกี่ยวกับ GitOps ของคุณ

ทบทวน: Git เป็นแหล่งข้อมูลจริง

คุณได้สร้างไปป์ไลน์ GitOps:

  • โพสต์แผนไปยัง PR เพื่อการตรวจสอบ
  • การผสานจะนำแผนที่บันทึกและอนุมัติแล้วไปใช้
  • แผนตามกำหนดเวลาจะตรวจจับการเปลี่ยนแปลงนอกแผน
  • การป้องกันสาขาและเครื่องมืออย่าง Atlantis จะบังคับใช้ขั้นตอนนี้

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

บทเรียน “GitOps และระบบอัตโนมัติสำหรับคำขอดึง” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “GitOps และระบบอัตโนมัติสำหรับคำขอดึง”

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

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

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

บทเรียน “GitOps และระบบอัตโนมัติสำหรับคำขอดึง” ใช้เวลานานแค่ไหน

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

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

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

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

  1. Terraform ในกระบวนการ CI/CD
  2. การทำ `plan` และ `apply` โดยอัตโนมัติ
  3. การจัดการข้อมูลรับรองอย่างปลอดภัย
  4. GitOps และระบบอัตโนมัติสำหรับคำขอดึง
← กลับไปที่ DevOps Bootcamp