0Pricing
Terraform Infrastructure as Code · บทเรียน

การเผยแพร่โมดูลไปยังรีจิสทรี

แชร์โมดูล Terraform ที่นำกลับมาใช้ซ้ำได้ระหว่างทีมด้วยการกำหนดรุ่นใน Git และเผยแพร่ไปยังรีจิสทรีโมดูลสาธารณะหรือส่วนตัว

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

นอกเหนือจากโมดูลภายในเครื่อง

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

แหล่งที่มาของโมดูล

อาร์กิวเมนต์ source จะกำหนดว่า Terraform ดึงโมดูลมาจากที่ใด ตัวเลือกมีดังนี้:

  • เส้นทางภายในเครื่อง
  • คลัง Git
  • รีจิสทรีสาธารณะของ Terraform
  • รีจิสทรีส่วนตัวใน Terraform Cloud

การใช้โมดูลจากรีจิสทรี

โมดูลจากรีจิสทรีใช้รูปแบบ namespace/name/provider ควรกำหนดเวอร์ชันไว้อย่างชัดเจนเสมอ เพื่อให้การสร้างระบบทำซ้ำได้ผลเหมือนเดิม

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "5.1.2"

  name = "my-vpc"
  cidr = "10.0.0.0/16"
}

หลักการตั้งชื่อคลัง

รีจิสทรีสาธารณะกำหนดชื่อคลังแบบเฉพาะเจาะจงว่า terraform-PROVIDER-NAME ตัวอย่างเช่น โมดูลเครือข่ายสำหรับ AWS ควรอยู่ในคลังชื่อ terraform-aws-network

โครงสร้างโมดูลมาตรฐาน

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

terraform-aws-network/
  main.tf
  variables.tf
  outputs.tf
  README.md
  examples/
    basic/main.tf

การจัดทำเอกสารข้อมูลนำเข้า

ตัวแปรแต่ละตัวควรมี description และควรมี type ด้วย รีจิสทรีจะเปลี่ยนข้อมูลเหล่านี้เป็นตารางข้อมูลนำเข้าที่มีเอกสารกำกับโดยอัตโนมัติ

variable "cidr" {
  type        = string
  description = "The CIDR block for the VPC"
  default     = "10.0.0.0/16"
}

การกำหนดเวอร์ชันด้วยแท็ก Git

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

git tag v1.0.0
git push origin v1.0.0

การกำหนดแหล่ง Git โดยตรง

คุณสามารถข้ามรีจิสทรีและอ้างอิงคลัง Git ด้วย URL โดยกำหนดแท็กผ่านพารามิเตอร์คำค้น ref ได้

module "network" {
  source = "git::https://github.com/acme/terraform-aws-network.git?ref=v1.0.0"
  cidr   = "10.0.0.0/16"
}

รีจิสทรีส่วนตัว

Terraform Cloud และ Enterprise มีรีจิสทรีส่วนตัว เพื่อให้โมดูลภายในยังคงเป็นความลับ แต่สมาชิกในองค์กรยังค้นหาโมดูลได้ด้วยกระบวนการใช้ชื่อและเวอร์ชันแบบเดียวกัน

ข้อจำกัดการกำหนดเวอร์ชันเชิงความหมาย

ใช้ข้อจำกัดเวอร์ชันเพื่ออนุญาตให้อัปเกรดได้อย่างปลอดภัย ตัวดำเนินการ ~> อนุญาตให้อัปเดตเวอร์ชันแก้ไขและเวอร์ชันรอง แต่ไม่อนุญาตให้เปลี่ยนเวอร์ชันหลักซึ่งอาจทำให้เข้ากันไม่ได้

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "~> 5.1"
}

การดึงเวอร์ชันโมดูลใหม่

หลังเปลี่ยนข้อจำกัดเวอร์ชัน ให้เรียกใช้ terraform init -upgrade เพื่อดึงเวอร์ชันล่าสุดที่อนุญาตและอัปเดตไฟล์ล็อก

terraform init -upgrade

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

ตรวจสอบความเข้าใจเกี่ยวกับการกำหนดเวอร์ชันของโมดูล

ทบทวน: การแบ่งปันโมดูล

คุณได้เรียนรู้วิธีเผยแพร่และใช้งานโมดูลแล้ว:

  • กฎการตั้งชื่อคลัง terraform-PROVIDER-NAME
  • โครงสร้างมาตรฐานพร้อมข้อมูลนำเข้าและค่าผลลัพธ์ที่มีเอกสารกำกับ
  • แท็ก Git เป็นตัวกำหนดเวอร์ชันในรีจิสทรี
  • ข้อจำกัดเวอร์ชัน เช่น ~> ช่วยให้การอัปเกรดปลอดภัย

ตอนนี้โมดูลที่นำกลับมาใช้ใหม่ได้ของคุณสามารถรองรับทุกโครงการในองค์กรแล้ว

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

บทเรียน “การเผยแพร่โมดูลไปยังรีจิสทรี” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การเผยแพร่โมดูลไปยังรีจิสทรี”

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

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

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

บทเรียน “การเผยแพร่โมดูลไปยังรีจิสทรี” ใช้เวลานานแค่ไหน

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

ฉันเขียนและรันโค้ดในบทเรียน Terraform Infrastructure as Code นี้ได้ไหม

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

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

  1. บทนำสู่โมดูล Terraform
  2. การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้
  3. การใช้เวิร์กสเปซสำหรับสภาพแวดล้อม
  4. การเผยแพร่โมดูลไปยังรีจิสทรี
← กลับไปที่ Terraform Infrastructure as Code