การกำหนดเวอร์ชันตามความหมายด้วยแท็ก
นำหลักการกำหนดเวอร์ชันตามความหมายมาใช้กับโครงการ และใช้แท็ก Git เพื่อทำเครื่องหมายจุดสำคัญในประวัติ
การกำหนดเวอร์ชันตามความหมายด้วยแท็ก เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
การกำหนดเวอร์ชันซอฟต์แวร์คืออะไร
ลองจินตนาการว่าคุณกำลังสร้างบ้าน คุณคงไม่อยากใช้แบบแปลนเก่าปะปนกับแบบแปลนใหม่ใช่ไหมครับ
- การกำหนดเวอร์ชันซอฟต์แวร์ช่วยติดตามการเปลี่ยนแปลงในโค้ดของคุณ
- การกำหนดเวอร์ชันจะให้ตัวระบุที่ไม่ซ้ำกันแก่รุ่นเผยแพร่แต่ละรุ่น เช่น หมายเลขเวอร์ชัน
- วิธีนี้ช่วยให้นักพัฒนาและผู้ใช้เข้าใจว่ามีอะไรใหม่ อะไรได้รับการแก้ไข และอะไรอาจทำงานผิดพลาด
สิ่งนี้สำคัญอย่างยิ่งต่อการจัดการสิ่งที่ต้องพึ่งพาและการสื่อสารการเปลี่ยนแปลงอย่างมีประสิทธิภาพ
ทำความรู้จักการกำหนดเวอร์ชันเชิงความหมาย (SemVer)
การกำหนดเวอร์ชันเชิงความหมาย (หรือ SemVer) เป็นมาตรฐานที่ใช้กันอย่างแพร่หลายสำหรับกำหนดหมายเลขเวอร์ชัน
มาตรฐานนี้ใช้รูปแบบง่าย ๆ คือ MAJOR.MINOR.PATCH:
- MAJOR: ใช้เมื่อมีการเปลี่ยนแปลงครั้งใหญ่ที่ทำให้เข้ากันไม่ได้
- MINOR: ใช้เมื่อเพิ่มความสามารถใหม่ที่ยังเข้ากันได้กับเวอร์ชันก่อนหน้า
- PATCH: ใช้เมื่อแก้ไขข้อบกพร่องเล็กน้อย ซึ่งยังเข้ากันได้กับเวอร์ชันก่อนหน้า
ระบบนี้สื่อสารผลกระทบของรุ่นเผยแพร่ใหม่ได้อย่างชัดเจน
ทำความเข้าใจเวอร์ชัน MAJOR
หมายเลขเวอร์ชัน MAJOR จะเพิ่มขึ้นเมื่อคุณเปลี่ยนแปลง API ในลักษณะที่เข้ากันไม่ได้
นั่นหมายความว่า หากมีผู้ใช้ซอฟต์แวร์ของคุณ การอัปเกรดเป็นเวอร์ชัน MAJOR ใหม่อาจทำให้โค้ดเดิมของผู้ใช้ทำงานไม่ได้
- ตัวอย่าง: จาก
1.0.0เป็น2.0.0 - โปรดสื่อสารการเปลี่ยนแปลงที่ทำให้เข้ากันไม่ได้อย่างชัดเจนในบันทึกรุ่นเผยแพร่เสมอ
เวอร์ชันนี้บ่งบอกถึงการอัปเดตครั้งสำคัญที่ผู้ใช้ต้องให้ความสนใจ
ทำความเข้าใจเวอร์ชัน MINOR
เวอร์ชัน MINOR จะเพิ่มขึ้นเมื่อคุณเพิ่มความสามารถใหม่โดยยังคงเข้ากันได้กับเวอร์ชันก่อนหน้า
ผู้ใช้สามารถอัปเกรดเป็นเวอร์ชัน MINOR ใหม่ได้โดยไม่ต้องกังวลว่าโค้ดเดิมจะทำงานไม่ได้
- ตัวอย่าง: จาก
1.2.0เป็น1.3.0 - มีการเพิ่มความสามารถใหม่ แต่ความสามารถเดิมยังคงทำงานตามที่คาดไว้
เมื่อเพิ่มเวอร์ชัน MINOR เวอร์ชัน PATCH จะถูกตั้งกลับเป็น 0 (เช่น 1.2.5 จะกลายเป็น 1.3.0)
ทำความเข้าใจเวอร์ชัน PATCH
เวอร์ชัน PATCH จะเพิ่มขึ้นเมื่อคุณแก้ไขข้อบกพร่องโดยยังคงเข้ากันได้กับเวอร์ชันก่อนหน้า
โดยทั่วไปเป็นการเปลี่ยนแปลงภายในขนาดเล็กที่ไม่เพิ่มความสามารถใหม่และไม่ทำให้ความสามารถเดิมทำงานไม่ได้
- ตัวอย่าง: จาก
1.2.3เป็น1.2.4 - ผู้ใช้สามารถอัปเกรดเพื่อรับการแก้ไขข้อบกพร่องได้อย่างมั่นใจ
รุ่นเผยแพร่ PATCH มักมีความสำคัญต่อเสถียรภาพและความปลอดภัย
เหตุใด SemVer จึงสำคัญ
การนำการกำหนดเวอร์ชันเชิงความหมายมาใช้มีประโยชน์หลายประการ:
- ความชัดเจน: นักพัฒนาเข้าใจผลกระทบของการอัปเดตได้ทันที
- ความคาดการณ์ได้: ช่วยหลีกเลี่ยงปัญหาที่ไม่คาดคิดในโครงการที่พึ่งพาซอฟต์แวร์ของคุณ
- การจัดการสิ่งที่ต้องพึ่งพา: เครื่องมือสามารถอัปเดตเป็นเวอร์ชันที่ปลอดภัยได้โดยอัตโนมัติ
- การสื่อสาร: มีภาษากลางสำหรับพูดคุยเกี่ยวกับรุ่นเผยแพร่
สิ่งนี้ช่วยสร้างความไว้วางใจและทำให้การพัฒนาซอฟต์แวร์มีความแข็งแกร่งยิ่งขึ้น
การใช้แท็ก Git เพื่อกำหนดเวอร์ชัน
Git มีความสามารถที่เรียกว่า แท็ก ซึ่งช่วยให้คุณทำเครื่องหมายจุดที่ต้องการในประวัติของคลังว่าเป็นจุดสำคัญ
ความสามารถนี้เหมาะอย่างยิ่งสำหรับทำเครื่องหมายเวอร์ชันของรุ่นเผยแพร่ เช่น v1.0.0 หรือ v2.1.5
- แท็กเปรียบเสมือนที่คั่นถาวรสำหรับคอมมิตที่ต้องการ
- ช่วยให้คุณอ้างอิงเวอร์ชันโค้ดที่เผยแพร่แล้วได้ง่ายในภายหลัง
มักใช้แท็กเพื่อระบุจุดเผยแพร่อย่างเป็นทางการในลำดับเวลาของโครงการ
แท็กแบบมีคำอธิบายเทียบกับแท็กแบบเบา
Git มีแท็กหลักอยู่สองประเภท:
- แท็กแบบเบา: ตัวชี้อย่างง่ายไปยังคอมมิต เป็นเพียงชื่อเท่านั้น
- แท็กแบบมีคำอธิบาย: วัตถุ Git แบบเต็มรูปแบบ ซึ่งมีชื่อผู้สร้างแท็ก อีเมล วันที่ และข้อความ
สำหรับรุ่นเผยแพร่ ขอแนะนำให้ใช้ แท็กแบบมีคำอธิบาย เนื่องจากจัดเก็บข้อมูลกำกับที่มีประโยชน์และสามารถลงลายเซ็นเพื่อยืนยันความถูกต้องได้
ลองนึกภาพแท็กแบบมีคำอธิบายว่าเป็นคอมมิตรุ่นเผยแพร่ขนาดเล็กในตัวเอง
การสร้างแท็กแบบมีคำอธิบาย
หากต้องการสร้างแท็กแบบมีคำอธิบาย ให้ใช้คำสั่ง git tag -a ตามด้วยชื่อแท็กและข้อความ
ต่อไปนี้คือวิธีทำเครื่องหมายรุ่นเผยแพร่เสถียรรุ่นแรกของคุณ:
git init
echo "Initial content" > README.md
git add README.md
git commit -m "First commit"
git tag -a v1.0.0 -m "Initial stable release"
git log --oneline --decorateการดูและตรวจสอบแท็ก
เมื่อสร้างแท็กแล้ว คุณสามารถแสดงรายการแท็กหรือดูรายละเอียดของแท็กได้
- ใช้
git tagเพื่อแสดงแท็กทั้งหมดในคลังของคุณ - ใช้
git show <tagname>เพื่อดูคอมมิตที่เชื่อมโยงกับแท็กและข้อมูลกำกับของแท็ก
ลองเรียกใช้ตัวอย่างเพื่อดูวิธีการ:
git init
echo "Feature A" > a.txt
git add a.txt
git commit -m "Add feature A"
git tag -a v0.1.0 -m "First feature release"
echo "Bug Fix B" > b.txt
git add b.txt
git commit -m "Fix bug B"
git tag -a v0.1.1 -m "Bug B fixed"
git tag
git show v0.1.0ตรวจสอบอย่างรวดเร็ว: ผลกระทบของ SemVer
พิจารณาโครงการที่ปัจจุบันอยู่ที่เวอร์ชัน 1.5.2 ทีมตัดสินใจเพิ่มความสามารถใหม่ที่เข้ากันได้กับเวอร์ชันก่อนหน้า และแก้ไขข้อบกพร่องเล็กน้อย
ตามการกำหนดเวอร์ชันเชิงความหมาย หมายเลขเวอร์ชัน ถัดไป ควรเป็นเท่าใด
ทบทวน: SemVer และแท็ก Git
ทำได้ดีมากครับ คุณได้เรียนรู้พื้นฐานสำคัญของการกำหนดเวอร์ชันเชิงความหมายและวิธีใช้แท็ก Git เพื่อทำเครื่องหมายรุ่นเผยแพร่แล้ว
- SemVer (MAJOR.MINOR.PATCH) เป็นวิธีที่ชัดเจนสำหรับสื่อสารการเปลี่ยนแปลง
- MAJOR: การเปลี่ยนแปลงที่ทำให้เข้ากันไม่ได้
- MINOR: ความสามารถใหม่ที่เข้ากันได้กับเวอร์ชันก่อนหน้า
- PATCH: การแก้ไขข้อบกพร่องที่เข้ากันได้กับเวอร์ชันก่อนหน้า
- แท็ก Git: ทำหน้าที่เป็นที่คั่นถาวรสำหรับคอมมิตที่ต้องการ เหมาะสำหรับทำเครื่องหมายเวอร์ชันของรุ่นเผยแพร่
- แท็กแบบมีคำอธิบาย: เหมาะสำหรับรุ่นเผยแพร่เนื่องจากมีข้อมูลกำกับ
ความรู้นี้เป็นกุญแจสำคัญต่อการจัดการรุ่นเผยแพร่อย่างมีประสิทธิภาพและการทำงานร่วมกัน
คำถามที่พบบ่อย
บทเรียน “การกำหนดเวอร์ชันตามความหมายด้วยแท็ก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การกำหนดเวอร์ชันตามความหมายด้วยแท็ก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การกำหนดเวอร์ชันตามความหมายด้วยแท็ก”
นำหลักการกำหนดเวอร์ชันตามความหมายมาใช้กับโครงการ และใช้แท็ก Git เพื่อทำเครื่องหมายจุดสำคัญในประวัติ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การกำหนดเวอร์ชันตามความหมายด้วยแท็ก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การกำหนดเวอร์ชันตามความหมายด้วยแท็ก
- การสร้างและจัดการรีลีส
- สาขารีลีสและ Hotfix
- การสร้างบันทึกการเปลี่ยนแปลงและบันทึกการเผยแพร่