يؤدي الإفراج الدلالي إلى أتمتة سير عمل إصدار الحزمة بالكامل بما في ذلك: تحديد رقم الإصدار التالي ، وإنشاء ملاحظات الإصدار ، ونشر الحزمة.
هذا يزيل العلاقة الفورية بين العواطف الإنسانية وأرقام الإصدار ، واتباع مواصفات الإصدار الدلالي وتوصيل تأثير التغييرات على المستهلكين.
ثق بنا ، سيؤدي هذا إلى تغيير سير العمل الخاص بك للأفضل. - egghead.io
الإصدار الآلي بالكامل
فرض مواصفات الإصدار الدلالي
تتوفر ميزات وإصلاحات جديدة على الفور للمستخدمين
إبلاغ المشرفين والمستخدمين بالإصدارات الجديدة
استخدم اتفاقية رسالة الالتزام الرسمية لتوثيق التغييرات في قاعدة الشفرة
نشر على قنوات التوزيع المختلفة (مثل NPM DIST-TAGS) بناءً على دمج GIT
الاندماج مع سير عمل التكامل المستمر الخاص بك
تجنب الأخطاء المحتملة المرتبطة بالإصدارات اليدوية
دعم أي مديري ولغات الحزم عبر الإضافات
تكوين بسيط وقابل لإعادة الاستخدام عبر التكوينات القابلة للمشاركة
دعم مصدر حزمة NPM الذي يعزز زيادة أمن سلسلة التوريد من خلال عمليات الشهادة الموقعة على إجراءات GitHub
يستخدم الإفراج الدلالي رسائل الالتزام لتحديد تأثير المستهلك للتغييرات في قاعدة الشفرة. باتباع الاتفاقيات الرسمية لرسائل الالتزام ، يحدد الإصدار الدلالي رقم الإصدار الدلالي تلقائيًا ، ويقوم بإنشاء changelog وينشر الإصدار.
بشكل افتراضي ، يستخدم الإفراج الدلالي اتفاقيات رسالة الالتزام الزاوية. يمكن تغيير تنسيق رسالة الالتزام مع خيارات preset
أو config
للإضافات الدلالية/الالتزام و @الإضافات الدلالية/الإضافات.
يمكن استخدام أدوات مثل الالتزام أو Commiclelint لمساعدة المساهمين وفرض رسائل الالتزام الصحيحة.
يوضح الجدول أدناه رسالة الالتزام التي تحصل عليها أي نوع الإصدار عند تشغيل semantic-release
(باستخدام التكوين الافتراضي):
رسالة ارتكاب | نوع الإطلاق |
---|---|
fix(pencil): stop graphite breaking when too much pressure applied | تصحيح إصلاح الإصلاح |
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
أمر لإصدار إصدار إذا كانت هناك تغييرات في قاعدة كود منذ الإصدار الأخير الذي يؤثر على وظائف الحزمة.
يوفر الإفراج الدلالي طرقًا مختلفة للتحكم في التوقيت والمحتوى وجمهور الإصدارات المنشورة. انظر مثال سير العمل في الوصفات التالية:
باستخدام قنوات التوزيع
إصدارات الصيانة
ما قبل الإلغاء
بعد إجراء الاختبارات ، سيقوم semantic-release
إلى تنفيذ الخطوات التالية:
خطوة | وصف |
---|---|
تحقق من الظروف | تحقق من جميع الشروط للمتابعة مع الإصدار. |
احصل على الإصدار الأخير | الحصول على الالتزام المقابل للإصدار الأخير من خلال تحليل علامات GIT. |
تحليل الالتزامات | حدد نوع الإصدار بناءً على الالتزامات المضافة منذ الإصدار الأخير. |
تحقق من الإصدار | تحقق من التوافق مع الإصدار. |
توليد ملاحظات | إنشاء ملاحظات الإصدار للالتزامات المضافة منذ الإصدار الأخير. |
إنشاء علامة git | قم بإنشاء علامة GIT تتوافق مع إصدار الإصدار الجديد. |
يحضر | إعداد الإصدار. |
نشر | نشر الإصدار. |
إخطار | إخطار الإصدارات الجديدة أو الأخطاء. |
من أجل استخدام الإفراج الدلالي الذي تحتاجه:
لاستضافة الكود الخاص بك في مستودع GIT
استخدم خدمة تكامل مستمرة تتيح لك إعداد بيانات الاعتماد بشكل آمن
إصدار Git CLI الذي يلبي متطلبات الإصدار الخاصة بنا مثبتة في بيئة التكامل المستمر الخاص بك
إصدار Node.js يلبي متطلبات الإصدار الخاصة بنا مثبتة في بيئة التكامل المستمر الخاص بك
الاستخدام
ابدء
تثبيت
تكوين CI
إعدادات
الإضافات
تكوين سير العمل
تكوينات قابلة للمشاركة
تمتد
الإضافات
التكوين القابل للمشاركة
وصفات
تكوينات CI
GIT استضاف الخدمات
إطلاق سير العمل
دليل المطور
JavaScript API
تطوير الإضافات
تطوير التكوين القابل للمشاركة
يدعم
موارد
الأسئلة المتداولة
استكشاف الأخطاء وإصلاحها
متطلبات إصدار العقدة
سياسة دعم العقدة
مناقشات جيثب
مكدس فائض
تغريد
دع الناس يعرفون أن الحزمة الخاصة بك قد تم نشرها باستخدام الإفراج الدلالي والتي تتبعها الارتباط بالتضمين هذه الشارة في ReadMe.
[! /الإفراج الدلالي)
![]() | ![]() | ![]() |
---|---|---|
جريجور مارتينوس | بيير فاندوينسلغر | مات ترافي |
![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|
ستيفان بونمان | رولف إريك ليكانغ | يوهانس يورغ شميدت | الفنلندي بولس | كريستوف ويتزكو |