صافي استراتيجية الإصدار
في ألم مع تفس / فستس.
التدوين حول إدارة دورة حياة التطبيق مع تفس / فستس.
إستراتيجية الإصدار العالمي & # 8211؛ AssemblyInformationalVersion.
سمعت من أي وقت مضى سمة الإصدار الثالث (اختياري) في ملفات أسمبليدينفو: أسمبليدينفورماتيونالفرزيون. لا؟ ارجوك اقرأ!
دون استراتيجية (التجمع) نسخة الترقيم، والقدرة على تحديد ما هي التغييرات التي تم تضمينها في الإصدار الذي فقدت. في رأيي، كنت دائما بحاجة إلى معرفة بالضبط أي مصدر الملفات ذهبت إلى بناء والتي إصدار من سوفوير ينتشر حاليا في بيئة معينة. نظام الترقيم نسخة عشوائية يخلق الارتباك وسوف تسبب في وقت قريب أو في وقت لاحق مخاطر النشر. وسوف تصبح كابوسا لجلب الملفات المصدر بالضبط لإعادة إنتاج علة من الإنتاج.
يتم تنفيذ كافة إصدارات التجميعات التي تستخدم وقت تشغيل اللغة الشائعة على مستوى التجميع. يتم تسجيل النسخة المحددة للتجميع وإصدارات التجميعات التابعة في بيان التجميع & # 8217 ؛. نهج الإصدار الافتراضي لوقت التشغيل هو أن يتم تشغيل التطبيقات فقط مع الإصدارات التي تم بناؤها واختبارها مع، ما لم يتم تجاوزها بواسطة سياسة الإصدار الصريح في ملفات التكوين.
يحتوي كل مشروع على ملف أسمبليينفو يحتوي على سمة أسمبليفرزيون وسمة أسمبليفيليفرزيون.
أسمبليفرزيون: هذا هو رقم الإصدار المستخدم من قبل الإطار أثناء البناء وفي وقت التشغيل لتحديد موقع وربط وتحميل التجميعات. عند إضافة مرجع إلى أي تجميع في المشروع الخاص بك، هذا هو رقم الإصدار الذي يحصل جزءا لا يتجزأ. في وقت التشغيل، و كلر يبحث للتجميع مع هذا العدد الإصدار لتحميل. ولكن تذكر يتم استخدام هذا الإصدار جنبا إلى جنب مع الاسم والرمز المفتاح العام والثقافة المعلومات إلا إذا كانت الجمعيات التي أطلق عليها اسم قوية. إذا لم تكن التجميعات موقعة بقوة، يتم استخدام أسماء الملفات فقط للتحميل. أسمبليفيليفرزيون: هذا هو رقم الإصدار المعطى لملف كما في نظام الملفات. يتم عرضها بواسطة مستكشف ويندوز. انها لم تستخدم من قبل الإطار أو وقت التشغيل للإشارة.
ولكن ماذا عن هذا الاختلاف بين أسمبليفرزيون و أسمبليفيليفرزيون؟ في كثير من الأحيان، أرى أن نفس الإصدار يتم تطبيقه على كل من السمات & # 8230؛ ولكن لماذا هذه السمتين (مختلفة) التي يقدمها الإطار؟ يجب أن يكون أسمبليفرزيون الإصدار العام من تطبيق البرنامج بأكمله، في حين أن أسمبليفيليفرزيون هو أكثر نسخة من مكون معين والتي قد تكون سوى جزء صغير من التطبيق بأكمله. و أسمبليفيليفرزيون هو أفضل مكان لوضع مزيد من المعلومات بناء الإصدار التي يمكن أن تكون مهمة لترقية المكونات الفردية لتطبيق البرمجيات.
يرجى اتباع توصيات الإصدار الدلالي لإملاء كيفية تعيين أسمبليفرزيون وزيادة. بالنسبة ل أسمبليفيليفرزيون، أميل إلى تضمين معلومات بناء محددة. في كثير من الأحيان، سوف تحتاج إلى بناء (واختبار) عدد من الوقت إصدار سيمفير محددة من البرنامج الخاص بك.
على سبيل المثال: يمكن أن يكون الإصدار 1 من تطبيق برنامج تعيين أسمبليفرزيون إلى 1.0.0 (كافة المكونات)، في حين يمكن تعيين أسمبليفيليفرزيون من المكونات الفردية إلى 1.0.15234.2 الذي يشير إلى رقم بناء فريد من نظام البناء و مرتبطة بتاريخ معين وتنقيح: & # 8220؛ 15 & # 8221؛ = سنة 2015؛ & # 8220؛ 234 & # 8221؛ = رقم اليوم في عام 2015؛ & # 8220؛ 2 & # 8221؛ = بناء الثانية معالجته ذلك اليوم. وهذا يسمح أيضا لتصحيح المكونات الفردية في وقت لاحق في الإنتاج مع كومبليانسفرزيون مماثل (1.0.0)، ولكن مختلفة أسمبليفيليفرزيون (1.0.15235.1).
لذلك، دعونا نحاول تطبيق هذا على مشروع اختبار في فيسوال ستوديو ونرى تفاصيل التجمع بعد بناء المشروع & # 8230؛
الآن يجب أن تكون الخلط! لماذا يعرض "إصدار المنتج" أسمبليفيليفرزيون وأين & # 8217؛ s أسمبليفرزيون؟ المشكلة هنا هو أن مشروع فيسوال ستوديو جديد لا يتضمن & # 8217؛ t سمة إصدار ثالث أسمبليدينفورماتيونالفرزيون الذي يهدف إلى تمثيل الإصدار العام من تطبيق البرنامج بأكمله. لاحظ أن كلر لا تعتني بهذه السمة الثالثة (اختياري) للإصدار. وباختصار، يجب تطبيق نفس قواعد الإصدار الدلالي من أسمبليفرزيون على أسمبليدينفورماتيونالفرزيون.
آها! هذا يبدو أفضل بكثير الحق؟ كما أنه من السهل أيضا استخراج هذه البيانات الوصفية من التجميعات التي تم نشرها، ويمكن إدراج هذه المعلومات بشكل جيد في مربع حول البرنامج. القضية الوحيدة مع هذا النهج هو أن الجمعية أسمبليفرزيون لا تتضمن & # 8220؛ التصحيح & # 8221؛ (التجميع الدلالي) من أسمبليفرزيون، ولكن هذا يمكن تجاهلها مع حقيقة أن أسمبليفيليفرزيون سوف تكون فريدة من نوعها، ويمكن أن تكون مرتبطة إلى بناء فريد من نوعه في بناء النظام. هذه الطريقة في العمل هو تفسيري الشخصي لكيفية الإصدار يمكن تطبيقها بشكل صحيح في تطبيقات البرمجيات المعقدة ولا تعكس المبادئ التوجيهية الرسمية من مايكروسوفت. هدفي هنا هو جعل مطوري البرامج على بينة من المخاطر المحتملة لعدم وجود استراتيجية واضحة للإصدار.
الآن، ننسى يدويا إعداد معلومات الإصدار في ملفات أسمبليتينفو وأبدا إطلاق أي وقت مضى البرمجيات من بناء فيسوال ستوديو المحلي. في عملية بناء مبسطة، يتم إنشاء أرقام بناء وإصدار فريدة منسقة مركزيا. من أجل استكشاف الأخطاء وإصلاحها وتتبعها بشكل فعال، من الضروري أن يتم تجميع التجميعات التي تم إنشاؤها بمعرف فريد يمكن تتبعه بسهولة إلى رقم بناء النظام.
في مرحلة ما بعد القادم سوف أتحدث عن كيف يمكنك تحقيق هذه الاستراتيجية الإصدار العالمي مع نظام بناء جديد في تفس عام 2015.
آخر الملاحة.
ترك الرد إلغاء الرد.
ريال سيمفر يسمح علامة تجريبي مثل هذا & # 8220؛ 1.2.4-beta04 & # 8221؛. سيمفر كما يسمح البيانات الوصفية مثل بناء عدد، تاريخ، ارتكاب أو تشانجستيت مثل هذا & # 8220؛ 1.0.0 + 20130313144700 & # 8221؛.
أسمبليينفورماتيوناليفرزيون هو الحقل الوحيد الذي يسمح لأي شيء آخر من تدوين النسخة الكلاسيكية مثل 1.2.3.4. أسمبليفرزيون و أسمبليفيليفرزيون تسمح فقط تدوين نسخة صارمة. وكل جزء يقتصر على 65536 أعتقد (لماذا نحن بحاجة إلى تدوين غريب للتواريخ أليس كذلك؟).
يمكنك إعداد سوجستست أسمبليدينفورماتيوناتيونالفرزيون و أسمبليفرزيون إلى نفس الإصدار، ولكن بعد ذلك نحن تفقد هذا قوية ميزة سيمفر / فكرة. وكل ذلك & # 8217؛ s اليسار يضع بعض تمثيل التاريخ من رقم البناء في التجميع فيليفرزيون (طالما أنها & # 8217؛ s في شكل 1.2.3.4)
ربما أسمبليينفورماتيوناليفرزيون يجب أن تبدأ مع أسمبليفرزيون ولكن تسمح لإضافة العلامة والبيانات الوصفية؟
عند التعبئة والتغليف نوبكغ، سيتم استخدام أسمبليدينفورماتيونالفرزيون. وهو أمر عظيم لأنه بهذه الطريقة يمكنك إنشاء حزم الإفراج قبل. ولكن قد لا يكون من السهل تكوين علامات الإصدار التجريبي لبنياتك التلقائية.
أقل ما يمكننا قوله، انها فوضى، انها مربكة والإطار لم يبنى مع كل هذا في الاعتبار. لجعل الأمور أسوأ، لدينا وظيفة فعلية للقيام بدلا من محاولة لمعرفة هذه التفاصيل غير مجدية 🙂
معلومات الجمعية العالمية هي فكرة جيدة. بالمناسبة، يمكن للجمعية فيرسيونر و إنفو أوديتر مساعدة مدير المشروع / إصدارات الجمعية وغيرها من المعلومات لجميع المشاريع / التجميعات في واجهة مستخدم واحدة:
البصرية أكثر ذكاء لديها الكثير من الميزات من اثنين أعلاه.
مشاركة نسخة التجميع المشتركة / ملف المعلومات فكرة جيدة إذا كان من المفترض أن يكون جميع الجمعيات / المشاريع أن يكون نفس المعلومات / الإصدار. خلاف ذلك، يمكن أن يأتي فيرسيونر الجمعية ومحدث المعلومات لإنقاذ في اللحظة الأخيرة:
البصرية أكثر ذكاء لديها الكثير من الميزات من اثنين أعلاه.
إستراتيجية الإصدار
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
إستراتيجية إصدار التطبيقات للتطبيقات في جيت.
شركتي بدأت للتو باستخدام جيت وأنا تكافح مع الإصدار. نحن نستخدم الإصدار الدلالي (main. minor. patch)، التي وضعناها على أساس التغييرات التي أدخلت على المنتج. ومع ذلك، أود أن استخدام الجزء الرابع للإشارة إلى ارتكاب جيت. لقد قرأت مقالات عن كيفية القيام بذلك، وخاصة واحد باستخدام هوك بعد دمج، ولكن أكثر حصلت عليه، وأكثر الخلط أصبحت، وليس على الجزء التقني، ولكن على الجزء المفاهيمي.
أنا حقا أحب فكرة أن تكون قادرة على استخدام جيت ارتكاب التجزئة في النسخة، لأنه يجعل من الواضح جدا ما هو البرنامج. ومع ذلك، لا أستطيع أن أعرف هذا حتى بعد ارتكاب، وعند هذه النقطة، فإن تغيير النسخة تتطلب ارتكاب آخر وسوف يكون التجزئة غير صحيحة. لذلك، إذا حصلت على رقم الإصدار، انتقل إلى جيت، كنت في الواقع الحصول على ارتكاب قبل واحد في الاستخدام. ما أريده هو أن تكون قادرا على الذهاب إلى جيت، والاستيلاء على العلامة وجعلها بنيت تماما كما هو قيد الاستخدام.
وأظن أن الجواب يكمن في عملية البناء، في تلك العملية أن الاستعلام جيت، والحصول على التجزئة، وتحديث AssemblyInfo. cs ثم قم ببناء المنتج.
كما أنا جديد جدا على كل هذا، وأنا أتساءل عما إذا:
هل أنا في عداد المفقودين شيء مفاهيمي؟ هناك طريقة أفضل من بناء؟ إذا كان استخدام عملية البناء هو الطريق للذهاب، هل هناك أي طرق ثبت لمعالجة هذا؟
تجزئة (ل جيت، و SH1) ختم كل محتوى الالتزام. إذا كان هناك شيء واحد فقط تغيير في ارتكاب، محتوى ملف أو البيانات الوصفية للالتزام (تاريخ ارتكاب، ارتكاب رسالة، المؤلف.)، سوف التجزئة تكون مختلفة. في هذه الحالة، كنت أفهم أنه لا يمكنك الحصول على تجزئة ارتكاب، تعديل محتوى ملف وتعديل ارتكاب ونتوقع أن يكون نفس التجزئة لارتكاب! لذلك، إذا كنت ترغب في إصدار التجميعات، يجب تحديث الملف AssemblyInfo. cs مع تجزئة الالتزام في عملية الإنشاء قبل تجميع الحل.
بالنسبة لأولئك الغريب، وهذا هو الحل انتهى بي الأمر باستخدام.
بعد التأكد من أنني فهمت كيف عمل كل شيء / تجزئة العمل، بدأت أبحث أكثر في عملية البناء. اتضح أنه كان من السهل جدا. هذه المادة حصلت على الذهاب في الاتجاه الصحيح. وإليك ما فعلته:
إستراتيجية الإصدار
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
استراتيجيات لتحديث أو إصدار خدمات الويب؟
أنا مهتم بسماع أفضل الممارسات حول كيفية التعامل مع إصدارات مختلفة من خدمات الويب.
لتوضيح، إذا كنت قد حصلت على بعض أساليب الويب يتعرض كخدمة ويب، ثم كنت ترغب في إضافة ميزة / وظيفة وبالتالي تغيير توقيع تلك الطريقة يدعو، كيف يمكنك التعامل مع ذلك بطريقة لا كسر كل شيء من العملاء الذين يتصلون حاليا بالخدمة؟
هل تنشر الخدمة على عنوان ورل مختلف؟
هل وضع نسخة في اسم الأسلوب نفسه (ميميثود، MyMethodv2 الخ - أوغ ..)
هل تمر في نسخة كجزء من استدعاء الأسلوب جنبا إلى جنب مع قائمة المعلمة؟
هل يعرف أحد كيف يتعامل غوغل أو أمازون مع هذا السيناريو مع المكتبة الواسعة لخدمة الويب؟
إديت: حتى الآن وجدت بعض المعلومات الجيدة في هذه المقالة من أوراكل. كما كان هذا الإدخال بلوق على بعض تفاصيل جافا مفيدة. ما زلت غريبة أن أرى بعض النهج الأخرى.
الطريقة النموذجية لإصدار خدمة ويب هي أن يكون للعملاء تحديد الإصدار المطلوب. يمكنك السماح بقيود بسيطة، مثل "> 2.0" أو "لوت؛ 1.5" أو "= 1.1". بطبيعة الحال، كنت ترغب في تقليل عدد الإصدارات المعتمدة لالعقم الخاصة بك. إذا لم يحدد العميل إصدارا، فإنك تفترض أحدث إصدار.
تقنيات تقديم النسخة تختلف. يدافع البعض عن استخدام عنوان ورل، ويشجع الآخرون رؤوس، وقد يتضمن البعض ذلك كمعلمة لمكالمة أبي. تقريبا لا شيء سوف تغيير اسم الأسلوب، على الرغم من. هذا ما يعادل "حزمة" أو "مساحة الاسم" إصدار رابط أوسغي يتحدث عن. وستجعل عملية الترقية صعبة للغاية، وتعيق الأشخاص عن الترقية أكثر من أي تغييرات في الخدمة الفعلية.
كما يعتمد أيضا على كيفية الوصول إلى خدمات الويب. إذا كنت تستخدم ريست، فإن الحفاظ على رؤوس عناوين ورل النظيفة واستخدامها يجعلها الأكثر منطقية (ومن المفيد الإختراق بها كمعلمة طلب بحث، إذا لزم الأمر). إذا كنت تستخدم سواب / شملريك / واتيفر-ريك، فإن وضعه في عنوان ورل عادة ما يكون جيدا.
كيف يحدد العميل الإصدار هو عادة سهلة جدا. ما هو أكثر تعقيدا هو كيفية تشغيل كافة الإصدارات في وقت واحد. معظم اللغات ليس لديها طريقة لتحميل إصدارات متعددة من نفس المكتبة / وحدة / فئة / وظيفة في نفس بيئة التشغيل (سواء كان فم، عملية، أو ما لديك). رابط أوسغي الذي قدمته هو الحل جافا للسماح بذلك.
في الممارسة العملية، سوف أوسغي يكون مبالغا فيه لمعظم الحالات. وعادة ما يكون من الأسهل إلى الوكيل طلبات مهملة إلى خادم آخر أو عملية أخرى.
أفضل طريقة ل "إصدار" خدماتك، على الرغم من ذلك، هو بناء التمدد والمرونة فيها بحيث تبقى إلى الأمام ومتوافقة إلى الوراء. وهذا لا يعني أن جميع الإصدارات يجب أن تكون متوافقة مع بعضها البعض، ولكن يجب أن تكون الإصدارات المتتالية متوافقة مع بعضها البعض.
أستطيع أن أقول لكم أن حل خلق دوابيفونكتيون، doAPIFunctionV2، و DOAPIFunctionV3، وما إلى ذلك أنتجت شيئا ولكن الصداع في مكان أعمل فيه. إضافة إلى أن عدم وجود أسماء وظيفة وصفية بشكل واضح يعني كل أنواع الجنون.
تريد أسماء وظائف أبي واضحة، وإذا كان أبي يتغير، سيكون الهدف هو محاولة القيام بذلك في طريقة متوافقة مع الخلف ممكن. أود أن أقترح إصدار نقاط الدخول الخاصة بك حتى كل نقطة دخول تدعم أبي مستقرة و دو فونكتيون في example. org/api-1.0/ قد تكون مختلفة من example. org/api-2.0 إذا كان هناك سبب وجيه لتغيير الدلالات.
لست متأكدا مما إذا كنت فهمت سؤالك بشكل صحيح. ولكن بلدي 2 سنتا. إذا تغيرت طريقة التوقيع كمعلمة جديدة أخرى، فلماذا لا يمكن جعلها اختيارية؟ ولكن إذا تم تغيير نوع بيانات المعلمة الحالية فإنه لا ينطبق.
التصويت على هذا إذا كان من الخطأ. :)
كان من المفترض أن يكون أبسط عندما يكون لديك نفس اسم طريقة خدمة ويب، ومعلمات مختلفة، منذ سنوات. :)
بمجرد كتابة خدمة ويب، فإنك تقوم بعقد مع العملاء أن هذا هو ما سوف تدعمه.
بالنسبة للأساليب القديمة أود أن أقترح تسجيل لمعرفة ما إذا كانت يتم استخدامها، ومن قبل من، لمعرفة ما إذا كان يمكنك الحصول عليها لتحديث.
بخلاف أنك أفضل رهان هو مجرد كتابة طريقة جديدة، لذلك قد يكون لديك العديد من أسماء الوظائف المماثلة التي تختلف عن طريق إصدار.
المشكلة مع تمرير في رقم الإصدار هو أن لديك لضمان تمرير العملاء دائما في عدد صحيح، والتي، إذا كنت توليد ستابس العمل، ولكن إذا كنت لا ثم وهذا هو هش جدا.
يبدو أن وضع رقم الإصدار في الاسم يعمل بشكل أفضل بالنسبة لي، لأنه يجعل من الواضح ما هو القديم، ويمكنك استخدام أوب لتسجيل الإصدارات الأقدم بسهولة من طرق خدمة الويب.
إستراتيجية الإصدار
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
ما هي إستراتيجية إصدار إصدارات التطبيقات؟ [مكرر]
هذا السؤال له إجابة هنا:
وأود أن تكون مهتمة للحصول على آراء المجتمع سو حول أفضل استراتيجية إصدار الإصدارات التطبيق.
كيف يمكنك تتبع رقم إصدار التطبيق؟ هل لديك تعريف رسمي لما يمثله كل رقم / حرف في هذا الإصدار؟
ماذا تعني الأرقام / السلاسل المختلفة في إصدار التطبيق لتطبيقك؟
هل تستخدم أي نظام تحديث تلقائي في تطبيقاتك (على سبيل المثال، شيء مثل سباركل) ومدى حسن تصرفك من أجلك؟
هل لديك إجراء تحديث منفصل للاختبار بيتا أو اختبار ما قبل النشر من التطبيق الخاص بك؟
تم وضع علامة على أنها مكررة من قبل غنات، ميكلت، كيليان فوث، GlenH7، رين هنريش 29 أبريل '13 في 2:42.
وقد طرح هذا السؤال من قبل، ولديه بالفعل جواب. إذا كانت هذه الإجابات لا تعالج سؤالك بشكل كامل، فيرجى طرح سؤال جديد.
ترحيل من ستاكوفيرفلو 18 مايو 1111 في 13:48.
وجاء هذا السؤال من موقعنا لمبرمجين المحترفين والمتحمسين.
كيف يمكنك تتبع رقم إصدار التطبيق؟ هل لديك تعريف رسمي لما يمثله كل رقم / حرف في هذا الإصدار؟
ماذا تعني الأرقام / السلاسل المختلفة في إصدار التطبيق لتطبيقك؟
أستخدم ما يلي:
الرائد - الإصدار الرئيسي هو الافراج واضح للمنتج. زادت عندما تكون هناك تغييرات كبيرة في الأداء الوظيفي.
طفيفة - يتم زيادة إصدار طفيفة عندما يتم إضافة ميزات جديدة فقط أو إصلاحات الشوائب الرئيسية.
ترقية / تصحيح - ترقية يشير إلى استبدال منتج مع إصدار أحدث من product. It يتزايد فقط عندما يتم توفير الترقية على إصدار رئيسي معين. يبدأ إصدار باتش مع 0 وتزايد فقط عندما تم حل علة.
بناء لا - يتم زيادة رقم البناء عند إنشاء بنية جديدة.
هل تستخدم أي نظام تحديث تلقائي في تطبيقاتك (على سبيل المثال، شيء مثل سباركل) ومدى حسن تصرفك من أجلك؟
نحن نستخدم أداة البناء الذي يبني تلقائيا التطبيق في الليل الذي نسميه بناء ليلا وهذا يزيد بناء عدد في كل مرة يتم إنشاء بناء.
هل لديك إجراء تحديث منفصل للاختبار بيتا أو اختبار ما قبل النشر من التطبيق الخاص بك؟
لا. اختبارات اختبار على بناء ليلا في كل صباح الذي نسميه بات (بناء قبول الاختبار) والتحقق من بناء ليلا.
واسمحوا لي أن ألاحظ أولا أنه لا يوجد اتفاق فيما يبدو بشأن استراتيجية "أفضل". يمكنني فقط مشاركة تجربتي في مشروع الحالي.
يتم تعريف إصدار النظام يدويا في خاصية بناء. يحدث ذلك عندما يوافق الفريق على إصدار جديد. كما فيرسيونينغ إضافية نستخدم رقم البناء الذي يتم إنشاؤه تلقائيا من قبل بناء سي.
نحن نتابع بشكل فضفاض نظام تسمية أوبونتو YY. MM. version. patch_buildNumber كما وجدنا أن إصدار الرائد. مينور يعبر عن توقعات العملاء؛)
لا توجد تحديثات تلقائية كما أن التطبيق يجب أن تدحرجت من قبل المشرفين.
إن الإصدارات التجريبية أكثر تواترا من إصدارات غا، ولكن يجب أن يكون ذلك كله.
اختبرت العديد من أنظمة الإصدار والآن أنا سعيد جدا مع هذا واحد:
يتم تعيين الرائد بشكل يدوي والرجوع إلى إصدار بما في ذلك التحسينات الرئيسية يتم تعيين الصغرى أيضا يدويا وتشير إلى إصدار ترقية / صيانة، بما في ذلك تحسينات طفيفة & أمب؛ الإصلاحات يتم إنشاء المراجعة تلقائيا وتشير إلى مراجعة دقيقة في المستودع.
آخر واحد يسمح لنا أن تكون مرنة جدا مع فيرسيونينغ. يمكننا أن نشحن إصدارات متعددة للعديد من العملاء، ولا تزال قادرة على تصحيح & أمب؛ إصلاح مع سهولة عن طريق الحصول على نسخة محددة من ريبوس، ثم دمج مرة أخرى مع الجذع.
بناء، التعبئة والتغليف & أمب؛ النشر مؤتمتة بالكامل. الإجراء اليدوي الوحيد هو عندما نقوم بنقل الحزمة الأخيرة إلى ملقم الإنتاج بواسطة فتب. نحن نريد للحفاظ على السيطرة على ذلك لضمان أننا لا تسليم حماقة في الإنتاج. يذهب إلى مرحلة أولية حيث الأوائل يمكن قراءة ملاحظات الافراج ثم تقرر تحميل واستخدام النسخة. يمكن للعملاء الذين يواجهون البق محددة الحصول على نسخة ثابتة سريع جدا باستخدام واحد من هذه الإصدارات.
يمكنني استخدام الإصدار الدلالي لمكتباتي مفتوحة المصدر وتجد أنه من الأسهل بكثير للعمل مع المكتبات الأخرى التي تفعل كذلك. وهو يوفر أساسا مشتركا لفهم ما قد يعنيه تغيير الإصدار. هل المكتبة لا تزال في مرحلة تجريبية؟ هو إصدار فقط لإصلاحات الشوائب؟ هل سيكون هناك تغييرات متقطعة في واجهة برمجة التطبيقات؟
وهو في الأساس تدوين لأفضل ممارسات الإصدار التي تستخدمها بالفعل معظم المشاريع المفتوحة المصدر.
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
استراتيجيات لتحديث أو إصدار خدمات الويب؟
أنا مهتم بسماع أفضل الممارسات حول كيفية التعامل مع إصدارات مختلفة من خدمات الويب.
لتوضيح، إذا كنت قد حصلت على بعض أساليب الويب يتعرض كخدمة ويب، ثم كنت ترغب في إضافة ميزة / وظيفة وبالتالي تغيير توقيع تلك الطريقة يدعو، كيف يمكنك التعامل مع ذلك بطريقة لا كسر كل شيء من العملاء الذين يتصلون حاليا بالخدمة؟
هل تنشر الخدمة على عنوان ورل مختلف؟
هل وضع نسخة في اسم الأسلوب نفسه (ميميثود، MyMethodv2 الخ - أوغ ..)
هل تمر في نسخة كجزء من استدعاء الأسلوب جنبا إلى جنب مع قائمة المعلمة؟
هل يعرف أحد كيف يتعامل غوغل أو أمازون مع هذا السيناريو مع المكتبة الواسعة لخدمة الويب؟
إديت: حتى الآن وجدت بعض المعلومات الجيدة في هذه المقالة من أوراكل. كما كان هذا الإدخال بلوق على بعض تفاصيل جافا مفيدة. ما زلت غريبة أن أرى بعض النهج الأخرى.
الطريقة النموذجية لإصدار خدمة ويب هي أن يكون للعملاء تحديد الإصدار المطلوب. يمكنك السماح بقيود بسيطة، مثل "> 2.0" أو "لوت؛ 1.5" أو "= 1.1". بطبيعة الحال، كنت ترغب في تقليل عدد الإصدارات المعتمدة لالعقم الخاصة بك. إذا لم يحدد العميل إصدارا، فإنك تفترض أحدث إصدار.
تقنيات تقديم النسخة تختلف. يدافع البعض عن استخدام عنوان ورل، ويشجع الآخرون رؤوس، وقد يتضمن البعض ذلك كمعلمة لمكالمة أبي. تقريبا لا شيء سوف تغيير اسم الأسلوب، على الرغم من. هذا ما يعادل "حزمة" أو "مساحة الاسم" إصدار رابط أوسغي يتحدث عن. وستجعل عملية الترقية صعبة للغاية، وتعيق الأشخاص عن الترقية أكثر من أي تغييرات في الخدمة الفعلية.
كما يعتمد أيضا على كيفية الوصول إلى خدمات الويب. إذا كنت تستخدم ريست، فإن الحفاظ على رؤوس عناوين ورل النظيفة واستخدامها يجعلها الأكثر منطقية (ومن المفيد الإختراق بها كمعلمة طلب بحث، إذا لزم الأمر). إذا كنت تستخدم سواب / شملريك / واتيفر-ريك، فإن وضعه في عنوان ورل عادة ما يكون جيدا.
كيف يحدد العميل الإصدار هو عادة سهلة جدا. ما هو أكثر تعقيدا هو كيفية تشغيل كافة الإصدارات في وقت واحد. معظم اللغات ليس لديها طريقة لتحميل إصدارات متعددة من نفس المكتبة / وحدة / فئة / وظيفة في نفس بيئة التشغيل (سواء كان فم، عملية، أو ما لديك). رابط أوسغي الذي قدمته هو الحل جافا للسماح بذلك.
في الممارسة العملية، سوف أوسغي يكون مبالغا فيه لمعظم الحالات. وعادة ما يكون من الأسهل إلى الوكيل طلبات مهملة إلى خادم آخر أو عملية أخرى.
أفضل طريقة ل "إصدار" خدماتك، على الرغم من ذلك، هو بناء التمدد والمرونة فيها بحيث تبقى إلى الأمام ومتوافقة إلى الوراء. وهذا لا يعني أن جميع الإصدارات يجب أن تكون متوافقة مع بعضها البعض، ولكن يجب أن تكون الإصدارات المتتالية متوافقة مع بعضها البعض.
أستطيع أن أقول لكم أن حل خلق دوابيفونكتيون، doAPIFunctionV2، و DOAPIFunctionV3، وما إلى ذلك أنتجت شيئا ولكن الصداع في مكان أعمل فيه. إضافة إلى أن عدم وجود أسماء وظيفة وصفية بشكل واضح يعني كل أنواع الجنون.
تريد أسماء وظائف أبي واضحة، وإذا كان أبي يتغير، سيكون الهدف هو محاولة القيام بذلك في طريقة متوافقة مع الخلف ممكن. أود أن أقترح إصدار نقاط الدخول الخاصة بك حتى كل نقطة دخول تدعم أبي مستقرة و دو فونكتيون في example. org/api-1.0/ قد تكون مختلفة من example. org/api-2.0 إذا كان هناك سبب وجيه لتغيير الدلالات.
لست متأكدا مما إذا كنت فهمت سؤالك بشكل صحيح. ولكن بلدي 2 سنتا. إذا تغيرت طريقة التوقيع كمعلمة جديدة أخرى، فلماذا لا يمكن جعلها اختيارية؟ ولكن إذا تم تغيير نوع بيانات المعلمة الحالية فإنه لا ينطبق.
التصويت على هذا إذا كان من الخطأ. :)
كان من المفترض أن يكون أبسط عندما يكون لديك نفس اسم طريقة خدمة ويب، ومعلمات مختلفة، منذ سنوات. :)
بمجرد كتابة خدمة ويب، فإنك تقوم بعقد مع العملاء أن هذا هو ما سوف تدعمه.
بالنسبة للأساليب القديمة أود أن أقترح تسجيل لمعرفة ما إذا كانت يتم استخدامها، ومن قبل من، لمعرفة ما إذا كان يمكنك الحصول عليها لتحديث.
بخلاف أنك أفضل رهان هو مجرد كتابة طريقة جديدة، لذلك قد يكون لديك العديد من أسماء الوظائف المماثلة التي تختلف عن طريق إصدار.
المشكلة مع تمرير في رقم الإصدار هو أن لديك لضمان تمرير العملاء دائما في عدد صحيح، والتي، إذا كنت توليد ستابس العمل، ولكن إذا كنت لا ثم وهذا هو هش جدا.
يبدو أن وضع رقم الإصدار في الاسم يعمل بشكل أفضل بالنسبة لي، لأنه يجعل من الواضح ما هو القديم، ويمكنك استخدام أوب لتسجيل الإصدارات الأقدم بسهولة من طرق خدمة الويب.
Comments
Post a Comment