Release Management ด้วย Git: วางแผน Release อย่างเป็นระบบ
Release Management เป็นขั้นตอนสำคัญในการจัดการเวอร์ชันของซอฟต์แวร์ โดยใช้ Git ให้ทีมสามารถวางแผนและดำเนินการ Release ได้อย่างเป็นระบบและมีประสิทธิภาพ
Release Branches Strategy
กลยุทธ์การจัดการสาขา Release ช่วยให้การพัฒนาแบบ Parallel เกิดขึ้นได้อย่างราบรื่น:
- main: สาขาหลักที่เก็บรหัสผลิตภัณฑ์
- develop: สาขาพัฒนาที่รวมคุณสมบัติใหม่
- release/x.x.x: สาขารองสำหรับเตรียมการปล่อยตัวอย่างเป็นทางการ
- hotfix/x.x.x: สาขาเพื่อแก้ไขจุดบกพร่องฉุกเฉินในการผลิตภัณฑ์
Git Tags สำหรับ Versioning
ใช้ Git Tags เพื่อทำเครื่องหมายเวอร์ชันที่เฉพาะเจาะจง:
# สร้าง annotated tag
git tag -a v1.0.0 -m "Release version 1.0.0"
# ดู tag ทั้งหมด
git tag -l
# ดึง tag เฉพาะ
git checkout v1.0.0
# ส่ง tag ไปที่ remote
git push origin v1.0.0
# ลบ tag
git tag -d v1.0.0
CHANGELOG Maintenance
การบำรุงรักษา CHANGELOG ที่ดีช่วยให้ผู้ใช้เข้าใจการเปลี่ยนแปลง:
# CHANGELOG.md
## [1.0.0] - 2026-03-28
### Added
- New feature X
- New API endpoint Y
### Changed
- Updated documentation
- Improved performance
### Fixed
- Bug fix #123
- Security issue #456
### Deprecated
- Old API will be removed in v2.0.0
## [0.9.0] - 2026-03-01
...
GitHub Releases Feature
GitHub Releases เป็นวิธีมาตรฐานในการประกาศ Release อย่างเป็นทางการ:
- สร้าง Release จากวิธี web UI ของ GitHub
- แนบไฟล์ประกอบ (binaries, archives)
- สร้างบันทึกประจำรุ่นเชื่อมโยง
- ปักหมุด Release สำคัญ
Automated Release Notes
ใช้เครื่องมืออัตโนมัติเพื่อสร้างบันทึกประจำรุ่น:
# ใช้ conventional commits
# สร้างบันทึกประจำรุ่นอัตโนมัติด้วย tools เช่น standard-version
npm install -g standard-version
standard-version
# หรือ commitizen
npm install -g commitizen cz-conventional-changelog
cz bump --changelog
Release Checklist
ตรวจสอบรายการก่อนปล่อยตัวอย่างอย่างเป็นทางการ:
- ทดสอบโครงการอย่างเต็มที่
- อัปเดตเวอร์ชันในไฟล์ package.json
- อัปเดต CHANGELOG
- สร้าง release branch จาก develop
- แปลง tags ด้วยเวอร์ชันใหม่
- ส่งออก Release ไปยัง main
- รวม Release กลับเข้า develop
- สร้าง GitHub Release พร้อมหมายเหตุ
- แจ้งเตือนผู้ใช้เกี่ยวกับการปล่อยตัวอย่างใหม่
ตัวอย่างขั้นตอน Release
# 1. สร้าง release branch
git checkout -b release/1.2.0 develop
# 2. อัปเดตเวอร์ชัน
echo "1.2.0" > VERSION
git add VERSION
git commit -m "Bump version to 1.2.0"
# 3. แปลง tag
git tag -a v1.2.0 -m "Release version 1.2.0"
# 4. ส่งออกไปยัง main
git checkout main
git merge --no-ff release/1.2.0
git push origin main
# 5. รวมกลับเข้า develop
git checkout develop
git merge --no-ff release/1.2.0
git push origin develop
# 6. ส่ง tags
git push origin v1.2.0
# 7. ลบ release branch
git branch -d release/1.2.0
สรุป
Release Management ที่เป็นระบบด้วย Git ช่วยให้การจัดการเวอร์ชันและการปล่อยตัวอย่างเป็นไปอย่างมีประสิทธิภาพ การใช้ release branches, git tags, CHANGELOG, และ GitHub Releases ร่วมกัน ทำให้ทีมสามารถจัดการการปล่อยตัวอย่างที่ซับซ้อนได้อย่างสำเร็จ
