الإصدار أتمتة أداة التحكم

مرحبا بالجميع!

لقد كانت دائما مثيرة للاهتمام ما هي إصدارات المنتجات وكيفية إدارتها؟ كيفية أتمتة التحكم في إصدار التنمية؟ أطلب القط.



اسمي روماني أنا مطور في شركة Softeq مثيرة جدًا للاهتمام ، حيث يكون الجميع مصدر إلهام.

عند تطوير الأدوات المختلفة ، فكرت في معرفة ما إذا كان جميع المطورين يعرفون ماهية الإصدار وما هو معنى ذلك وكيفية إدارته أثناء التطوير. لذلك دعونا ننظر إلى ما هو الإصدار.

الإصدار


الإصدار - تطوير وإدارة العديد من إصدارات المنتجات التي لها نفس الوظيفة المشتركة ، ولكن تم تحسينها أو تحديثها أو تخصيصها.
باختصار ، يتحدث الإصدار عن تغيير المنتج. كيف يتحدث الإصدار عن تغيير المنتج؟
دعنا ندعو نظام ترتيب الأحرف لتعيين إصدار المنتج مخطط تعيين. تم إنشاء مخططات إصدار مختلفة لتتبع إصدارات البرامج المختلفة.

الصورة

الإصدار الدلالي


هناك العديد من مخططات الإصدارات ، لكننا نواجه إصدارًا دلاليًا كل يوم. بالنسبة للإصدار الدلالي ، من المميز أن أرقام الإصدارات وكيفية تغييرها تنقل معنى محتويات الكود المصدري والتعديلات التي تم تطبيقها من إصدار إلى آخر.

دعونا نفكر في كيفية تكوين عدد النسخة الدلالية.



دعونا نتخيل أن لدينا مشروع قيد التطوير. الهدف الرئيسي من المشروع هو إدارة بناء المكتبة. يتيح لك المشروع طلب مواد لبناء مبنى ، والتحكم في مراحل بناء مكتبة. حاليا ، تم تصميم بنية التطبيق ، وقد تم تنفيذ المهام الأساسية بها. عند اختبار وظيفة طلب المواد لبناء مبنى مكتبة ، يتم اكتشاف خطأ ، خطأ . تم إجراء إصلاح خطأ وترقية إصدار تصحيح المشروع.



كان لدى العميل فكرة عن الحاجة إلى تنفيذ تحليل لمعلومات التسويق في المشروع. للمطورين تصميم خدمات تحليل البيانات بمهارة وسرعة وخدمات متكاملة مع البنية الحالية. تمت إضافة وظيفة مشروع جديدة لا تنتهك التوافق مع الإصدارات السابقة . نسخة ثانوية من المشروع قد ارتفع.



تم تنفيذ المشروع بنجاح. بعد مرور بعض الوقت ، كان لدى العميل فكرة لتطوير هذه التقنية لأتمتة الأعمال. تضمنت الخطط القادمة خدمات جديدة تمامًا: تشكيل فريق من البناة ، وشبكة اجتماعية داخلية ، وتبادل داخلي للوثائق ، والمزيد. أظهر المطورون كفاءة عالية ، وبعد حين تم تصميم بنية المشروع لحل كل من المشاكل الجديدة والقديمة. قام الهيكل الجديد للمشروع بإجراء تغييرات غير متوافقة مع الإصدارات السابقة. ارتفع الإصدار الرئيسي للمشروع.



الصورة الكاملة تبدو هكذا ، لكنك نادراً ما تصادفها.










لذلك ، نقدم ما هي إصدارات المنتج. ولكن كيفية إدارتها؟
دعونا نلقي نظرة على أداة أتمتة التحكم في الإصدار.

الإصدارات


NPM: https://www.npmjs.com/package/versionings
جيثب: https://github.com/morozow/versionings

يتم الإصدار باستخدام سطر الأوامر:

versionings --semver=[<semantic-version> | patch | prepatch | minor | preminor | premajor | prerelease | major] --branch=[<version-branch-name> | any-hyphen-case-less-100-characters-string] [--push] 

يتم تخزين الإصدار الحالي من المنتج في ملف ./package.json للمشروع ، وكذلك في Git tags وفرع الترقية. أتمتة لديه القدرة على التكامل مع أدوات خارجية مختلفة - يتم التحكم في الإصدار من خلال الأمر CLI.

دعونا نلقي نظرة على مثال لترقية المنتج.

الإجراءات


يجري تطوير مسودة للنسخة الحالية 2.5.3 . يجري تطوير خدمة مشروع جديدة في فرع خدمة العملاء في شركة crm . تم الانتهاء من تطوير الخدمة ، وتم الالتزام بجميع التغييرات ، وتم اتخاذ قرار بزيادة النسخة الثانوية:

 versionings --semver=minor --branch=user-service --push 

النتيجة


  1. فرع جديد: إصدار / ثانوي / ت 2.6.0 - خدمة المستخدم
  2. تغيير الإصدار في ./package.json : 2.5.3 -> 2.6.0
  3. ارتكب إصدار المنتج الجديد في فرع الإصدار / الثانوي / الإصدار 2.6.0 - خدمة المستخدم
  4. ادفع فرعًا جديدًا من خلال تنفيذ الخدمة ونسخة متزايدة من المنتج.
  5. إنشاء طلب سحب للإصدار / الفرع / إصدار 2.6.0 الفرعي - خدمة المستخدم ، والذي يتضمن تطبيق الخدمة والإصدار الذي تمت ترقيته

ملاحظات


  • أتمتة أداة الموجهة إلى بيئة يونيكس
  • مثال مشروع لبناء مكتبة هو مجردة ، لعرض عام للنسخ.

هذا كل شيء :)

كل مزاج مثمر ويوم عظيم!

Source: https://habr.com/ru/post/ar433994/


All Articles