การเผยแพร่โมดูลไปยังรีจิสทรี
แชร์โมดูล Terraform ที่นำกลับมาใช้ซ้ำได้ระหว่างทีมด้วยการกำหนดรุ่นใน Git และเผยแพร่ไปยังรีจิสทรีโมดูลสาธารณะหรือส่วนตัว
การเผยแพร่โมดูลไปยังรีจิสทรี เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 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) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเผยแพร่โมดูลไปยังรีจิสทรี”
แชร์โมดูล Terraform ที่นำกลับมาใช้ซ้ำได้ระหว่างทีมด้วยการกำหนดรุ่นใน Git และเผยแพร่ไปยังรีจิสทรีโมดูลสาธารณะหรือส่วนตัว คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การเผยแพร่โมดูลไปยังรีจิสทรี” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่โมดูล Terraform
- การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้
- การใช้เวิร์กสเปซสำหรับสภาพแวดล้อม
- การเผยแพร่โมดูลไปยังรีจิสทรี