การเปิดตัวความหมาย จะทำให้เวิร์กโฟลว์การเปิดตัวแพ็คเกจทั้งหมดเป็นไปโดยอัตโนมัติรวมถึง: การกำหนดหมายเลขเวอร์ชันถัดไปสร้างบันทึกย่อและการเผยแพร่แพ็คเกจ
สิ่งนี้จะช่วยขจัดการเชื่อมต่อระหว่างอารมณ์ของมนุษย์และหมายเลขเวอร์ชันทันทีตามข้อกำหนดการกำหนดเวอร์ชันความหมายอย่างเคร่งครัดและการสื่อสาร ผลกระทบ ของการเปลี่ยนแปลงผู้บริโภค
เชื่อใจเราสิ่งนี้จะเปลี่ยนเวิร์กโฟลว์ของคุณให้ดีขึ้น - egghead.io
การเปิดตัวอัตโนมัติเต็มรูปแบบ
บังคับใช้ข้อกำหนดการกำหนดเวอร์ชันความหมาย
คุณสมบัติใหม่และการแก้ไขจะพร้อมใช้งานสำหรับผู้ใช้ทันที
แจ้งผู้ดูแลและผู้ใช้รุ่นใหม่
ใช้อนุสัญญาข้อความ commit ที่เป็นทางการเพื่อการเปลี่ยนแปลงเอกสารใน codebase
เผยแพร่ในช่องทางการจัดจำหน่ายที่แตกต่างกัน (เช่น NPM dist-tags) ตาม Git Merges
รวมเข้ากับเวิร์กโฟลว์การรวมอย่างต่อเนื่องของคุณ
หลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้นที่เกี่ยวข้องกับการเผยแพร่ด้วยตนเอง
รองรับผู้จัดการแพ็คเกจและภาษาใด ๆ ผ่านปลั๊กอิน
การกำหนดค่าที่ง่ายและสามารถใช้ซ้ำได้ผ่านการกำหนดค่าที่แชร์ได้
สนับสนุนการจัดหาแพ็คเกจ NPM ที่ส่งเสริมความปลอดภัยของห่วงโซ่อุปทานที่เพิ่มขึ้นผ่านการยืนยันการกระทำของ GitHub
Semantic-release ใช้ข้อความ commit เพื่อกำหนดผลกระทบของผู้บริโภคของการเปลี่ยนแปลงใน codebase การประชุมอย่างเป็นทางการสำหรับข้อความที่กระทำ การส่งความหมาย จะกำหนดหมายเลขเวอร์ชันความหมายถัดไปโดยอัตโนมัติสร้างการเปลี่ยนแปลงและเผยแพร่การเปิดตัว
โดยค่าเริ่มต้น Semantic-release ใช้การประชุมข้อความการกระทำเชิงมุม รูปแบบข้อความ commit สามารถเปลี่ยนแปลงได้ด้วยตัวเลือก preset
หรือ config
ของ @semantic-release/commit-analyzer และ @ @semantic-release/release-notes-generator ปลั๊กอิน
เครื่องมือเช่น commitizen หรือ commitlint สามารถใช้เพื่อช่วยผู้มีส่วนร่วมและบังคับใช้ข้อความการกระทำที่ถูกต้อง
ตารางด้านล่างแสดงให้เห็นว่าข้อความใดที่จะทำให้คุณได้รับประเภทการเปิดตัวเมื่อ semantic-release
ใช้งาน (โดยใช้การกำหนดค่าเริ่มต้น):
ส่งข้อความ | ประเภทการปล่อย |
---|---|
fix(pencil): stop graphite breaking when too much pressure applied | Patch Fix Release |
feat(pencil): add 'graphiteWidth' option | การเปิดตัวฟีเจอร์ เล็กน้อย |
perf(pencil): remove graphiteWidth option BREAKING CHANGE: The graphiteWidth option has been removed. The default graphite width of 10mm is always used for performance reasons. | การเปิดตัว ครั้งใหญ่ (โปรดทราบว่า BREAKING CHANGE: โทเค็นต้องอยู่ในส่วนท้ายของการกระทำ) |
การปล่อยความหมาย มีความหมายที่จะดำเนินการในสภาพแวดล้อม CI หลังจากการสร้างที่ประสบความสำเร็จทุกครั้งในสาขาการเปิดตัว วิธีนี้ไม่มีมนุษย์เข้ามาเกี่ยวข้องโดยตรงในกระบวนการวางจำหน่ายและรับประกันว่าจะมีความไม่แน่นอน
สำหรับการกระทำใหม่แต่ละครั้งที่เพิ่มเข้ามาในสาขาการเปิดตัว (ตัวอย่างเช่น: master
, main
, next
, beta
) ด้วย git push
หรือโดยการรวมคำขอดึงหรือการรวมจากสาขาอื่นการสร้าง CI จะถูกกระตุ้นและเรียก semantic-release
คำสั่งเพื่อทำการเปิดตัวหากมีการเปลี่ยนแปลง CodeBase ตั้งแต่รุ่นล่าสุดที่มีผลต่อฟังก์ชันการทำงานของแพ็คเกจ
Semantic-release นำเสนอวิธีการต่าง ๆ ในการควบคุมเวลาเนื้อหาและผู้ชมของการเผยแพร่ที่เผยแพร่ ดูตัวอย่างเวิร์กโฟลว์ในสูตรต่อไปนี้:
ใช้ช่องทางการกระจาย
รีลีสการบำรุงรักษา
การประกาศล่วงหน้า
หลังจากเรียกใช้การทดสอบคำสั่ง semantic-release
จะดำเนินการตามขั้นตอนต่อไปนี้:
ขั้นตอน | คำอธิบาย |
---|---|
ตรวจสอบเงื่อนไข | ตรวจสอบเงื่อนไขทั้งหมดเพื่อดำเนินการตามการเปิดตัว |
รับรุ่นสุดท้าย | รับการกระทำที่สอดคล้องกับรุ่นสุดท้ายโดยการวิเคราะห์แท็ก GIT |
วิเคราะห์ความมุ่งมั่น | กำหนดประเภทของการเปิดตัวตามคำสั่งที่เพิ่มเข้ามาตั้งแต่รีลีสล่าสุด |
ตรวจสอบการเปิดตัว | ตรวจสอบความสอดคล้องของการปล่อย |
สร้างโน้ต | สร้างบันทึกย่อการเปิดตัวสำหรับการเพิ่มขึ้นตั้งแต่การเปิดตัวครั้งล่าสุด |
สร้างแท็ก git | สร้างแท็ก Git ที่สอดคล้องกับเวอร์ชันรุ่นใหม่ |
เตรียมตัว | เตรียมการเปิดตัว |
เผยแพร่ | เผยแพร่รุ่น |
แจ้ง | แจ้งให้ทราบถึงการเผยแพร่ใหม่หรือข้อผิดพลาด |
เพื่อใช้ การปล่อยความหมาย ที่คุณต้องการ:
เพื่อโฮสต์รหัสของคุณในที่เก็บ Git
ใช้บริการการรวมอย่างต่อเนื่องที่ช่วยให้คุณตั้งค่าข้อมูลรับรองได้อย่างปลอดภัย
รุ่น Git CLI ที่ตรงกับความต้องการเวอร์ชันของเราที่ติดตั้งในสภาพแวดล้อมการรวมอย่างต่อเนื่องของคุณ
เวอร์ชัน node.js ที่ตรงกับความต้องการเวอร์ชันของเราที่ติดตั้งในสภาพแวดล้อมการรวมอย่างต่อเนื่องของคุณ
การใช้งาน
เริ่มต้น
การติดตั้ง
การกำหนดค่า CI
การกำหนดค่า
ปลั๊กอิน
การกำหนดค่าเวิร์กโฟลว์
การกำหนดค่าที่แชร์ได้
การขยาย
ปลั๊กอิน
การกำหนดค่าที่แชร์ได้
สูตรอาหาร
การกำหนดค่า CI
Git Hosted Services
ปล่อยเวิร์กโฟลว์
คู่มือนักพัฒนา
JavaScript API
การพัฒนาปลั๊กอิน
การพัฒนาการกำหนดค่าที่แชร์ได้
สนับสนุน
ทรัพยากร
คำถามที่พบบ่อย
การแก้ไขปัญหา
ความต้องการเวอร์ชันโหนด
นโยบายการสนับสนุนโหนด
การอภิปรายของ GitHub
สแต็คล้น
แจ้งให้ผู้คนทราบว่าแพ็คเกจของคุณได้รับการเผยแพร่โดยใช้ การเปิดตัวความหมาย
[! [Semantic-release: Angular] (https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)] (https://github.com /ความหมายปล่อย)
![]() | ![]() | ![]() |
---|---|---|
Gregor Martynus | ปิแอร์ Vanduynslager | Matt Travi |
![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|
Stephan Bönnemann | Rolf Erik Lekang | Johannes Jörg Schmidt | ฟินน์พอล | Christoph Witzko |