سؤال

بلدي الشركة ببناء منتج.سيكون إصدار من SVN.انها webapp ذلك أساسا لن يكون هناك نسخة من الذي لا يملك بعض الميزات في نفوسهم وبالتالي يمكن أن يكون دائما المسمى بيتا.ولكن منذ انها ستكون الشركات المنتج أنا حقا لا أريد "غير مستقرة مراقبة" هناك.لذلك كيف يمكنك أن تذهب نحو الإصدارات?هو 1.0 مستقرة ؟ يجب أن تاريخ البناء يكون في رقم الإصدار ؟ قل لي ما اعتقد يا رفاق!

هل كانت مفيدة؟

المحلول

[الرئيسية].[ثانوية].[الإصدار].[بناء]

الرئيسية:حقا التسويق القرار.هل أنت مستعد لاستدعاء الإصدار 1.0?هل الشركة النظر في هذا الإصدار الرئيسي الذي العملاء قد تضطر لدفع أكثر من ذلك ، أو هو التحديث الرئيسية الحالية النسخة التي قد تكون مجانية ؟ أقل من R&D المقرر وأكثر قرار المنتج.

ثانوية:يبدأ من 0 كلما الرئيسية يتزايد.+1 لكل الإصدار الذي يذهب الجمهور.

الإصدار:في كل مرة كنت أصاب معلم التنمية وإطلاق المنتج ، حتى داخليا (مثلا ، إلى QA) ، الزيادة هذا.هذا هو المهم وخاصة بالنسبة الاتصالات بين الفرق في المنظمة.وغني عن القول, لم تفرج نفسه 'الإصدار' مرتين (حتى داخليا).إعادة تعيين إلى 0 عند طفيفة++ أو الرئيسية++.

بناء:يمكن أن يكون SVN revision, أجد أن يعمل بشكل أفضل.

نصائح أخرى

وx.y.z.g

والزيادات في غرام غير مستقرة. (أو المنسقين المقيمين) الزيادات في ض مستقرة وتعني إصلاحات الشوائب.
الزيادات في ذ مستقرة وتعني الميزات الجديدة.
الزيادات في العاشر هي مستقرة، إصدار رئيسي من دون التوافق بنسبة 100٪.

كتبت مرة متقنة "الإصدارات دليل نمط" عن مشروع كبير لي.المشروع لم يتحقق ، ولكن الاسلوب دليل لا تزال متاحة على الانترنت.هذا رأيي الشخصي ربما من المفيد (أو ملهمة) لك.

حذار إنه نص طويل ، ويذهب إلى عنصر الإصدارات مقابلالمنتج الإصدارات وأشياء من هذا القبيل.كما تعرب عن آراء قوية على بعض مخططات الإصدارات شعبية في OSS المجتمع, ولكن يكون لهم ، لذا التعبير عنها.;-)

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

تحرير: كما ملخص ، فإنه يميز بين إصدارات الملفات المصدر مكونات المنتج بشكل عام.ويستخدم نظام منفصل x.y versoning عن مكونات المنتج ، مع لطيفة الترابط بينهما أن يجعل تتبع أي مكون النسخة ينتمي إلى أي إصدار المنتج تافهة.كما يتحدث عن كيفية التعامل مع ألفا / بيتا / الإفراج / التصحيح دورات دون كسر النظام.في الواقع, انها طريقة العمل طوال دورة التنمية ، لذلك قد ترغب في انتقاء.;-)

تحرير 2: كما كاف من الناس وجدت هذه المادة مفيدة لجعل هذا "لطيفة الإجابة" ، بدأت العمل على هذه المادة مرة أخرى.PDF والمطاط الإصدارات متوفرة الآن ، كتابة كاملة بما في ذلك تحسين اللغة و رسومات توضيحية سوف تتبع في أقرب وقت يمكنني العثور على الوقت.شكرا لك على الأصوات الخاصة بك!

الحصول على نفسك بعض الإلهام من ويكيبيديا: "برنامج الإصدارات"

آخر "جديد" و "شعبية نسبيا" الخيار الإصدارات الدلالي

موجز:

إعطاء رقم الإصدار الرئيسية.طفيفة.التصحيح, زيادة:

  1. الإصدار الرئيسي عند إجراء يتعارض التغييرات API ،
  2. الإصدار الثانوي عند إضافة وظائف في إلى الوراء متوافقة الطريقة ،
  3. التصحيح الإصدار عند إجراء إلى الوراء متوافقة إصلاحات الشوائب.

بطاقات إضافية قبل الإفراج بناء الميتاداتا المتاحة امتداد الرئيسية.طفيفة.التصحيح الشكل.

أ.ب.ج.d

الزيادات :عندما
- d:إصلاحات الشوائب
- ج:الصيانة مثلاتحسين الأداء
- ب:الميزات الجديدة
- a:تغيير المعمارية

إلزامية هو الأكثر اليسرى مثلا ، إذا كان هناك على سبيل المثال ميزة جديدة و علة ثابتة ثم لديك فقط إلى زيادة ب.

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

في الأساس فإنه يبني من الدلالي الإصدار 2.0 ولكن ليست تماما كما الصارمة.

شبه الدلالي النسخة قطاعات:

<primary.release.segment>[-<pre.release.segment>][+<post.release.segment>]

الابتدائية الافراج عن الجزء الشكل:

MARKETTING.الرئيسية.طفيفة.التصحيح

كل قطعة يجب أن تسمح أحرف وأرقام ، ولكن نقية العددية ينصح المنطقي تغييرات تدريجية.

مثل SemVer ، أوصي الكبرى والصغرى ، و التصحيح مكونات لتمثيل عكس التوافق طبقات, ولكن أوصي أيضا أن يتبع أحد عنصر التسويق.يسمح هذا المنتج أصحاب ميزة الملاحم/مجموعات الاهتمامات التجارية عثرة المكون الأساسي المستقلة التقنية التوافق المخاوف.

على عكس إجابات أخرى, لا ينصح إلحاق بناء رقم الجزء الأساسي.بدلا من ذلك, إضافة بعد الإفراج عن الجزء بعد '+' (السابقين:1.1.0.0+بناء.42).SemVer المكالمات هذه البنية الفوقية ، ولكن أعتقد بعد الإفراج عن الجزء هو أكثر وضوحا.هذا الجزء هو عظيم بالنسبة معلنا لاحقة البيانات لا علاقة التوافق معلومات في الابتدائي الإفراج عن شريحة.الخاص بك التكامل المستمر يبني ثم يمكن إعطاء رقم الإصدار السابق إلحاق تدريجي بناء عدد أن يعيد بعد كل الرئيسية الافراج عن (السابقين:1.1.0.0 -> 1.1.0.0+بناء.1 -> 1.1.0.0+بناء.2 -> 1.1.0.1 ).بعض الناس بالتناوب مثل وضع svn رقم المراجعة هنا أو بوابة ارتكاب شاء أن تجعل من السهل ادراك التعادل كود مستودع.وثمة خيار آخر هو استخدام ما بعد الإفراج عن الجزء الإصلاحات العاجلة و بقع ، ثو قد يكون من المفيد النظر في إضافة أساسي جديد الإصدار مكون من أجل ذلك.فإنه يمكن دائما الحصول على تراجع عند التصحيح مكون يتزايد منذ الإصدارات بشكل فعال محاذاة إلى اليمين و فرزها.

بالإضافة إلى الإفراج بعد إطلاق شرائح الناس في كثير من الأحيان ترغب في استخدام قبل الافراج عن شريحة للإشارة إلى شبه مستقرة الإصدارات السابقة مثل الفا, بيتا والإفراج عن المرشحين.على SemVer نهج هذا يعمل بشكل جيد, ولكن أوصي فصل العددية عناصر من ألفا-المصنفات الرقمية (على سبيل المثال:1.2.0.0+ألفا.2 أو 1.2.0.0+RC.2).عادة كنت عثرة الإفراج عن شريحة في نفس الوقت إضافة بعد الإفراج عن الجزء ثم تسقط قبل الافراج عن شريحة عند عثرة لهم الابتدائية الافراج عن شريحة (السابقين:1.0.1.2 -> 1.2.0.0-RC.1 -> 1.2.0.0).قبل الافراج عن قطاعات الحصول على إضافة إلى الإشارة إلى أن الإصدار هو الخروج ، وعادة ما تكون مجرد مجموعة ثابتة من الميزات أكثر الاختبار في العمق وتبادل هذا لا يغير من دقيقة إلى أخرى استنادا إلى المزيد من يرتكب.

جمال بعد كل هذا لغويا محددة بحيث يغطي تقريبا جميع حالات الاستخدام هو أنه يمكنك تحليل وفرز مقارنة الزيادة في طريقة قياسية. هذا مهم بشكل خاص عند استخدام CI نظم التطبيقات المعقدة مع الكثير من الصغيرة بشكل مستقل بنظام مكونات (مثل خدمات الصغرى) كل مع الخاصة بهم تدار من التبعيات.

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

و"أرقام الإصدار" هي مسألة لنظام التحكم في الإصدار الداخلي الخاص بك. الأرقام الإصدار هي مسألة مختلفة (ويجب أن تبقى مختلفة).

وعصا لنظام بسيط الإفراج MAJOR.MINOR (مثل v1.27)، حيث MAJOR هو مستوى التوافق (الإصدار 2.x غير متوافق مع أو مختلفة على الأقل مجورلي من الإصدار 1.x) والقاصر النشرات خلل بك أو تحسينات طفيفة. طالما كنت تتبع شكل X.Y، يمكنك أيضا استخدام أنظمة أخرى مثل YEAR.MONTH (2009.12) أو YEAR.RELEASE (2009،3). ولكن في الحقيقة ربما كنت أفضل الشائكة لMAJOR.MINOR إلا إذا كان لديك سبب وجيه لعدم.

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

استخدم الفروع والعلامات في النظام الخاص بك (وزعت يفضل) التحكم في الإصدار بمناسبة أرقام الإصدار الداخلي محددة تتعلق التخصصات والقصر على التوالي.

ونعم، يجب أن يكون 1.0 مستقرة. يجب أن تكون جميع البيانات مستقر، إلا أنهم ألفا، بيتا، أو RC ملحوظ. استخدام أشعة الفا للالمعروفة للكسر، وغير مكتملة. الجيدات للالمعروفة كسر. المنسقين المقيمين ل "تحاول ذلك، فسوف يكون من المحتمل اكتشاف الأشياء التي غاب". أي شيء من دون واحد من هؤلاء يجب (مثالي، وبطبيعة الحال) يتم اختبار، والمعروفة جيدا، لديها ما يصل الى دليل التاريخ، الخ.

وانها شعبية جدا في هذه الأيام لمجرد استخدام عدد التخريب المراجعة.

إذا كان في SVN ثم لماذا لا تستخدم رقم المراجعة SVN؟

إذا نظرتم الى أسفل يمين هذه الصفحة على شبكة الإنترنت سترى رقم الإصدار تجاوز المكدس وهو رقم المراجعة SVN.

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

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

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

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

وأرقام إصدار الكلاسيكية تميل إلى "تهويل" الإصدارات، بحيث يمكن للمستخدمين بناء نوع من التوقع. فمن الأسهل أن نفكر "لدي الإصدار 1.0، الآن الإصدار 1.1 من يضيف هذا وذاك، أن تبدو مثيرة للاهتمام" من التفكير "أمس ركضنا SO مراجعة 2587، اليوم هو 3233، يجب أن يكون الكثير أفضل!".

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

ومخطط الإصدار:. [الكبرى] [قاصر] [devrel] [علامة]
[الرئيسية]: زيادة إذا كان لديك تغيير جذري في التنمية
[قاصر]: زيادة إذا كان لديك تغيير طفيف في التنمية
[devrel]: زيادة إذا كان لديك إصلاح الخلل. إعادة تعيين إلى صفر إذا كبرى ++ أو قاصر ++.
[علامة]: أ، ب أو روتردام: أ هو الإفراج ألفا، ب هي إصدار بيتا، والصليب الأحمر هو الافراج عن مرشح. لاحظ أن الإصدارات مثل 1.3.57a أو 1.3.57b أو 1.3.57rc هي قبل النسخة 1.3.57. تبدأ في 0.0.0.

لقد قضينا الكثير من الوقت في البت حين إلى زيادة الإصدار الرئيسي.بعض المحلات التجارية نادرا ما تفعل ذلك سيكون لديك الإصدارات مثل 1.25.3 وغيرها سوف تفعل ذلك من أجل الإفراج عن أي وقت مضى مما يتيح لك 15.0

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

العام.الإصدار.بناء

  • السنة = العام الحالي
  • الإفراج = تسلسل # العامة النشرات وظائف جديدة - إعادة تعيين إلى 1 كل العام
  • بناء = زيادة الشوائب الإصلاحات الداخلية النشرات

تحرير

** الآن هذا كان داخلي التطبيق الذي كان باستمرار المحسن **

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

لدي خبرة قليلة جدا في المنطقة.ولكن هنا ما أريد القيام به:

  1. اختيار مخطط الترقيم التنقيحات والتمسك بها.أن تكون متسقة.
  2. كل إصدار التغيير يجب أن تمثل تغيير كبير.كيف صغيرة تغيير كبير في مستويات التغيير التي ترد في النسخة رقم متروك لكم.

بالطبع, يمكنك فقط استخدام svn revision number --- مثل العديد من واقترح آخرون!!!

آمل أن يساعد هذا.

والسبب في وجود هذا السؤال هو لأننا لم يكن لديك واحد متفق عليه طريقة للقيام إدارة التكوين.

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

وأنت ستحتاج بعض النصوص الإفراج على رأس SVN لتحقيق ذلك

ونحن استخدام بسيط الكبرى.طفيفة.julian_date الجملة.

حيث ؛

  • الكبرى - الإصدار الأول هو 1 ثم عندما نقدم ميزات رئيسية جديدة أو تغييرات كبيرة جدا فهي ليست متوافقة إلى الوراء زيادة هذا العدد.
  • الصغرى - الكبرى معلما النشرات.لكل بناء دفعت من قبل إنتاج هذا العدد يزيد.
  • julian_date ـ جوليان اليوم بناء دفعت إلى QA.

المثال الأول الإفراج دفعت إلى QA على 1/15 هو -> 1.0.015
المثال الأول الإفراج دفعت إلى الإنتاج على 3/4 -> 1.1.063

انها ليست مثالية, ولكن مفيد ونحن دفع يبني QA بالقرب اليومية.

وبعض المعلومات الجيدة هنا:

عندما لتغيير ملف / إصدارات الجمعية

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

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

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

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

عند يمكنك تغيير إصدارات الجمعية لديك لتغيير إصدارات ضمنية إلى واحدة جديدة، وأوصي وضع المتغير إلى الإصدار في ملف رأس واستبدال hardcoding في مصادر المتغير. ثم، تشغيل قبل المعالج أثناء الإنشاء وضعه في الإصدار الصحيح. أوصي تغيير الإصدارات مباشرة بعد الشحن، وليس صحيحا قبل، حتى أن هناك المزيد من الوقت للقبض على الحشرات بسبب التغيير.

وأو لاستخدام الخاص بك الفكر "رقم الإصدار رقم فاصلة التخريب .. z.B:.

و1.0.101 // مراجعة 101، وإطلاق سراح

وأو 1.0.101-090303 // مع تاريخ الافراج عنه، وأنا استخدم هذا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top