0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · บทเรียน

IaC ด้วย Terraform และ GitHub Actions

ทำความเข้าใจวิธีผสาน Terraform เข้ากับเวิร์กโฟลว์ GitHub Actions เพื่อจัดเตรียมและจัดการโครงสร้างพื้นฐาน

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

โครงสร้างพื้นฐานเป็นโค้ด (IaC)

ยินดีต้อนรับ! ในบทเรียนนี้ เราจะเจาะลึกเรื่อง โครงสร้างพื้นฐานเป็นโค้ด (IaC) แนวทางนี้หมายถึงการจัดการและจัดเตรียมโครงสร้างพื้นฐานของคุณ เช่น เซิร์ฟเวอร์ ฐานข้อมูล และเครือข่าย โดยใช้โค้ดแทนกระบวนการที่ต้องทำด้วยตนเอง

ลองนึกภาพว่านี่คือการเขียนซอฟต์แวร์สำหรับโครงสร้างพื้นฐานของคุณ แนวทางนี้มีประโยชน์หลายประการ เช่น ความสม่ำเสมอ การทำซ้ำได้ และการควบคุมเวอร์ชันสำหรับการตั้งค่าทั้งหมดของคุณ

ทำความรู้จัก Terraform สำหรับ IaC

หนึ่งในเครื่องมือยอดนิยมสำหรับ IaC คือ Terraform ซึ่งเป็นเครื่องมือโอเพนซอร์สที่พัฒนาโดย HashiCorp

Terraform ช่วยให้คุณกำหนดทรัพยากรโครงสร้างพื้นฐานในไฟล์การกำหนดค่าที่มนุษย์อ่านได้ จากนั้นจะใช้ไฟล์เหล่านี้เพื่อจัดเตรียมและจัดการทรัพยากรข้ามผู้ให้บริการคลาวด์ต่าง ๆ เช่น AWS, Azure, GCP และบริการอื่น ๆ

ไวยากรณ์ HCL ของ Terraform

Terraform ใช้ภาษาเชิงประกาศของตนเองที่เรียกว่า HashiCorp Configuration Language (HCL) โดย HCL ได้รับการออกแบบให้อ่านและเขียนได้ง่ายสำหรับมนุษย์ ทำให้คำจำกัดความโครงสร้างพื้นฐานของคุณชัดเจน

นี่คือตัวอย่างขนาดเล็กของ HCL ที่กำหนด AWS VPC (คลาวด์ส่วนตัวเสมือน)

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "my-vpc"
  }
}

เวิร์กโฟลว์หลักของ Terraform

Terraform ใช้เวิร์กโฟลว์สามขั้นตอนที่สม่ำเสมอเพื่อจัดการโครงสร้างพื้นฐานของคุณ

  • terraform init: เริ่มต้นไดเรกทอรีทำงานของคุณและดาวน์โหลดปลั๊กอินผู้ให้บริการที่จำเป็น
  • terraform plan: สร้างแผนการดำเนินการ ซึ่งแสดงการเปลี่ยนแปลงที่ Terraform จะทำกับโครงสร้างพื้นฐานของคุณ
  • terraform apply: ดำเนินการตามการเปลี่ยนแปลงที่ระบุไว้ในแผน โดยจัดเตรียมหรือแก้ไขทรัพยากรของคุณ

ทำให้เป็นอัตโนมัติด้วย GitHub Actions

การผสาน Terraform เข้ากับ GitHub Actions ช่วยยกระดับกลยุทธ์ IaC ของคุณอย่างมาก โดยช่วยให้คุณทำให้ขั้นตอนสำคัญในไปป์ไลน์การปรับใช้โครงสร้างพื้นฐานเป็นแบบอัตโนมัติ

เมื่อใช้ GitHub Actions คุณสามารถทำสิ่งต่อไปนี้ได้

  • เรียกใช้ terraform plan โดยอัตโนมัติสำหรับคำขอรวมโค้ดทุกครั้ง
  • ทำให้มั่นใจว่าการเปลี่ยนแปลงโครงสร้างพื้นฐานได้รับการตรวจทานและอนุมัติ
  • ทำให้ terraform apply เป็นแบบอัตโนมัติสำหรับการปรับใช้ที่ควบคุมได้

ไฟล์เวิร์กโฟลว์ Terraform ของคุณ

เวิร์กโฟลว์ GitHub Actions สำหรับ Terraform จะกำหนดไว้ในไฟล์ YAML ภายในไดเรกทอรี .github/workflows/ ของที่เก็บโค้ด ไฟล์นี้ระบุว่าเวิร์กโฟลว์จะทำงานเมื่อใดและดำเนินการขั้นตอนใดบ้าง

นี่คือโครงสร้างพื้นฐานสำหรับเวิร์กโฟลว์ที่สามารถวางแผนการเปลี่ยนแปลงได้

name: 'Terraform CI'
on: 
  pull_request:
    branches:
      - main
jobs:
  terraform:
    name: 'Terraform'
    runs-on: ubuntu-latest
    steps:
      # Your workflow steps will go here

ตั้งค่า Terraform และขั้นตอนเริ่มต้นระบบ

ก่อนเรียกใช้คำสั่ง Terraform ใด ๆ เวิร์กโฟลว์ของคุณต้องดึงโค้ดออกมา ตั้งค่า Terraform CLI และเริ่มต้นไดเรกทอรีทำงาน

แอ็กชัน hashicorp/setup-terraform ช่วยให้ดำเนินการนี้ได้ง่าย

- name: Checkout Code
  uses: actions/checkout@v4

- name: Setup Terraform
  uses: hashicorp/setup-terraform@v2
  with:
    terraform_version: 1.5.x

- name: Terraform Init
  run: terraform init

ขั้นตอนการวางแผนของ Terraform

คำสั่ง terraform plan เป็นขั้นตอนสำคัญในเวิร์กโฟลว์ IaC ทุกประเภท โดยจะทำงานแบบ 'ทดลองดำเนินการ' เพื่อระบุว่าต้องดำเนินการใดบ้างเพื่อให้ได้สถานะที่ต้องการตามที่กำหนดไว้ในไฟล์การกำหนดค่าของคุณ

ขั้นตอนนี้ช่วยให้คุณตรวจทานการเปลี่ยนแปลงที่เสนอไว้ก่อนที่จะมีการแก้ไขสิ่งใดในสภาพแวดล้อมคลาวด์ของคุณจริง

- name: Terraform Plan
  run: terraform plan
  env:
    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

ตรวจสอบอย่างรวดเร็ว: Terraform Plan

การทำความเข้าใจคำสั่งหลักเป็นกุญแจสำคัญในการใช้ Terraform อย่างมีประสิทธิภาพในเวิร์กโฟลว์อัตโนมัติของคุณ

ข้อควรพิจารณาเกี่ยวกับ Terraform Apply

คำสั่ง terraform apply คือขั้นตอนที่ทำให้เกิดการเปลี่ยนแปลงจริง เพราะคำสั่งนี้จะเปลี่ยนแปลงโครงสร้างพื้นฐานของคุณ

ในไปป์ไลน์อัตโนมัติ แนวทางปฏิบัติทั่วไปคือเรียกใช้ terraform apply หลังจากมนุษย์ตรวจทานผลลัพธ์ของ plan แล้วเท่านั้น หรือเรียกใช้เมื่อรวมโค้ดเข้ากับสาขาที่กำหนด เช่น main หรือ production เท่านั้น วิธีนี้ช่วยป้องกันการเปลี่ยนแปลงโครงสร้างพื้นฐานโดยไม่ตั้งใจหรือไม่ได้รับอนุมัติ

สรุป IaC ด้วย Terraform และ Actions

ในบทเรียนนี้ เราได้สำรวจว่า โครงสร้างพื้นฐานเป็นโค้ด (IaC) ช่วยจัดการโครงสร้างพื้นฐานโดยใช้โค้ดได้อย่างไร เราเน้นที่ Terraform ซึ่งเป็นเครื่องมือหลักสำหรับ IaC และเรียนรู้เกี่ยวกับไวยากรณ์ HCL รวมถึงเวิร์กโฟลว์สำคัญอย่าง init, plan, apply

คุณยังได้เห็นว่า GitHub Actions สามารถทำให้ขั้นตอน terraform init และ terraform plan เป็นแบบอัตโนมัติได้อย่างไร ทำให้การปรับใช้โครงสร้างพื้นฐานของคุณปลอดภัย สม่ำเสมอ และผสานรวมเข้ากับไปป์ไลน์ CI/CD ได้อย่างสมบูรณ์

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

บทเรียน “IaC ด้วย Terraform และ GitHub Actions” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “IaC ด้วย Terraform และ GitHub Actions”

ทำความเข้าใจวิธีผสาน Terraform เข้ากับเวิร์กโฟลว์ GitHub Actions เพื่อจัดเตรียมและจัดการโครงสร้างพื้นฐาน คุณปฏิบัติ CI/CD with GitHub Actions & DevOps Pipelines ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CI/CD with GitHub Actions & DevOps Pipelines หรือไม่

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

บทเรียน “IaC ด้วย Terraform และ GitHub Actions” ใช้เวลานานแค่ไหน

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

ฉันเขียนและรันโค้ดในบทเรียน CI/CD with GitHub Actions & DevOps Pipelines นี้ได้ไหม

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

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

  1. IaC ด้วย Terraform และ GitHub Actions
  2. การจัดการทรัพยากรคลาวด์
  3. การทำให้การอัปเดตโครงสร้างพื้นฐานเป็นอัตโนมัติ
  4. การจัดการสถานะ Terraform และแบ็กเอนด์ระยะไกล
← กลับไปที่ CI/CD with GitHub Actions & DevOps Pipelines