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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- Terraform ในกระบวนการ CI/CD
- การทำ `plan` และ `apply` โดยอัตโนมัติ
- การจัดการข้อมูลรับรองอย่างปลอดภัย
- GitOps และระบบอัตโนมัติสำหรับคำขอดึง