Tuesday 20 March 2018

استراتيجية إصدار تفس


استخدام فريق مراقبة الإصدار مؤسسة.


في هذه المقالة.


فستس | تفس 2018 | تفس 2017 | تفس 2018 | فس 2017 | فس 2018 | فس 2018.


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


فستس و تفس توفر نموذجين من التحكم في الإصدار: جيت، الذي يتم توزيع نسخة التحكم، وفريق مؤسسة نسخة التحكم (تففك)، وهو مركزية نسخة التحكم. توفر هذه المقالة نظرة عامة ونقطة انطلاق لاستخدام فريق تحكم الإصدار مؤسسة. إذا كنت تقرر أي نوع من عنصر تحكم الإصدار فستس / تفس لاستخدامه، راجع اختيار عنصر تحكم الإصدار الصحيح لمشروعك.


لماذا تستخدم التحكم في الإصدار؟


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


توفر أنظمة التحكم في الإصدار المزايا التالية:


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


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


فريق مؤسسة الإصدار السيطرة.


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


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


ماذا تريد أن تفعل؟


قضاء بضع دقائق لإعداد الجهاز ديف الخاص بك للاستفادة من جميع فوائد كوديباس التي تسيطر عليها النسخة.


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


مساحات العمل المحلية - يأخذ كل عضو في الفريق نسخة من أحدث نسخة من كودباس معهم ويعمل حاليا حسب الحاجة. يتحقق المطورون من تغييراتهم وحل النزاعات عند الضرورة. نظام آخر يعمل بهذه الطريقة هو التخريب.


لا يجب أن تفكر في التحكم في الإصدار في معظم الحالات. يدعمك النظام عندما تحتاج إلى إدارة وفهم التغييرات التي أجريتها.


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


تحقق من التغييرات حتى يتمكن فريقك من بناء القيمة التي أنشأتها واختبارها وإصدارها.


استخدام الفروع والأقفال لعزل المخاطر التي أدخلتها العمل الذي قامت به فرق مختلفة.


ميزة واحدة من نظام التحكم في الإصدار هو أنه يمكنك أن ننظر إلى الوراء في الوقت المناسب للحصول على معلومات مفصلة حول التغييرات التي تم إجراؤها على الملفات الخاصة بك.


يمكنك مقارنة مجلدات الملقم والمجلدات المحلية لبعضها البعض، وعرض الاختلافات بين محتويات كل مجلد.


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


عندما تحتاج إلى منع ملف أو مجلد من يتم سحبها وتغييرها، يمكنك قفله.


الأقسام ذات الصلة.


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


يوفر معلومات حول تسمية بناء الجملة والاتفاقيات والقيود.


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


في ألم مع تفس / فستس.


التدوين حول إدارة دورة حياة التطبيق مع تفس / فستس.


تفس بيلد 2018 & # 8230؛ والإصدار!


في الآونة الأخيرة حصلت على بعض الوقت للعب أكثر قليلا مع نظام البناء الجديد الذي صدر مع تفس 2018 والذي يتوفر أيضا ل فيسوال ستوديو أون لاين. تم بناء نظام البناء الجديد في البداية كما أعلن بناء فنكست، ولكن الآن مع الافراج عن تفس 2018، انها آمنة و رسكو؛ s آمنة لندعوها فريق مؤسسة بناء 2018 (تفبويلد 2018) في حين أن & # 8220؛ القديمة & # 8221؛ بناء نظام يمكن أن يشار إليها باسم زمل (سير العمل) بناء النظام. كولين ديمبوفسكي لديه وظيفة كبيرة لماذا يجب عليك التحول إلى نظام البناء الجديد.


في السنوات الأخيرة، كان علي تنفيذ الكثير من التخصيصات في نظام بناء زمل وأصبحت مثمرة جدا مع أنشطة سير العمل. على طول الطريق أنا وضعت عددا من الأنشطة العامة التي يمكن إعادة استخدامها لمهام أخرى وأنا حقا أعرف طريقي حول في سير العمل البناء. في كثير من الحالات، تم استخدام ملحقات بناء تفس لعدم إعادة اختراع العجلة. لذلك، في المرحلة الأولى كنت متشككا بعض الشيء حول صعود نظام بناء آخر، ولكنني رأيت بوضوح بعض المزايا المثيرة للاهتمام التي أوضح في وظيفة كولن. أحد عيوب نظام بناء زمل هو منحنى التعلم الحاد لإتقان عملية التخصيص وأيضا آلية النشر لتحديث وحدة تحكم بناء تفس (ق). ولكن كما كنت من ذوي الخبرة، وبمجرد أن حصلت هناك، وكنت قادرا على دمج التخصيصات قوية جدا في عملية البناء. على أية حال، فإن & # 8220؛ أولد & # 8221؛ بناء نظام فاز & # 8217؛ ر تختفي ويمكنك الاستمرار في الاعتماد على هذه الوظيفة لبعض الوقت في المستقبل، ولكن أوصي أن يكون نظرة فاحصة على نظام البناء الجديد واستخدامها لتعريفات البناء الجديدة / المستقبلية الخاصة بك.


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


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


تعريف البناء الخاص بي:


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


نسخة ملف التجميع = 1.0.15236.3.


1 = & غ؛ مأخوذة من & # 8220؛ الرائد & # 8221؛ إصدار المنتج 0 = & غ؛ مأخوذة من & # 8220؛ الصغرى & # 8221؛ إصدار المنتج 15236 = & غ؛ تم إنشاؤها بواسطة عملية البناء: & # 8220؛ 15 & # 8221؛ = يار 2018، & # 8220؛ 236 & # 8221؛ = يوم من العام 2018 3 = & غ؛ بناء ثالث، تشغيل يوم 236 في عام 2018.


وبالنظر إلى تفاصيل التجمع لجمعية فابريكام بنيت مخصص الآن يكشف عن البيانات الوصفية الصحيحة:


أنا أيضا تعديل تنسيق رقم البناء للحصول على بعض مزيد من المعلومات الإصدار عرض في تشغيل بناء.


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


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


آخر الملاحة.


ترك الرد إلغاء الرد.


أنت & # 8217؛ إعادة استخدام عبارة يوم رقم جوليان بشكل غير صحيح. القيمة التي تريد الرجوع إليها تسمى بشكل صحيح تاريخ أوردينال.


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


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


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


أيه أفكار؟ حقا نقدر وقتك!


يبدو واعدا ولكن لماذا لا يزال هذا شيء محلات يجب أن لفة الخاصة بهم ل & # 8230؛ بالتأكيد معظم إيسفس تريد هذا؟ أنا & # 8217؛ م فتنت ما مس استخدام في المنزل.


هل يمكن أن يرجى حصة postbuils. ps1 الخاص بك. أريد أن أعرف كيف تحققت من التغييرات التي أجريتها. في، I & # 8217؛ م باستخدام تفس نسخة التحكم.


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


أضع بس الخاص بك في مجلد الحل وتعيين حقل اسم الملف النصي في بويرشيل بناء خطوة إلى نقطة في ذلك ولكن لم تنفذ. إنه يقول مهمة البدء & # 8230؛ ولكن لا يزال لا & # 8217؛ t كتابة أي شيء آخر على وحدة التحكم و دوسن & # 8217؛ t تحديث الإصدار إما. لقد انتقلت بس إلى المشروع وغيرت & # 8216؛ نسخ إلى إخراج ديركتوي & # 8217؛ إلى & # 8216؛ نسخ إذا أحدث & # 8217؛ وغيرت & # 8216؛ اسم الملف النصي & # 8217؛ ولكن لا يزال هناك فرق.


تابعت رسالة مسن (https://msdn. microsoft/en-us/Library/vs/alm/Build/scripts/index) وأنها تعمل ولكني أفضل بس الذي وضعته هنا كما هو & # 8217 ؛ قبول النسخة كمعلمة. أعتقد أن المشكلة هي كيف أدعو لك. هل يمكن أن يرجى حصة PreBuild. ps1.


هو ملفوفة بويرشيل النصي وأضاف في جيست على جيثب في وظيفة. إزالة وظيفة وأنها سوف تعمل بشكل جيد & # 8230؛


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


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


لاحظ أن استخدام يدوي يدخل اثنين من المشاكل على المدى الطويل:


& # 8211؛ القرن قرنة (ويعرف أيضا باسم، Y2K)، حيث بناء في 2100 سوف تبدو وكأنها تأتي قبل بناء في عام 2099. ولكننا فزنا & # 8217؛ ر الحصول على هذا الحد، لأن & # 8230؛


& # 8211؛ سوف يبني تبدأ فشل في 2066، منذ 66001 هو أبعد من UINt16.Max-1 الحد للمكونات في النسخة الجمعية وآخرون أرقام.


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


نحن لا يزال تحديث 3 * & أمب؛ 4 أجزاء خلال عملية البناء، لأن تلك تتطلب السيطرة المركزية من الزيادة. ولكن الرائد & أمبير؛ سيتم أخذ أجزاء صغيرة من شفرة المصدر بدلا من ذلك.


* ما لم تتحرك نحو الإصدار الدلالي، والذي يستخدم الجزء الثالث كما & # 8220؛ التصحيح & # 8221؛ رقم. اختيار & # 8220؛ تصحيح & # 8221؛ فإن الرقم الذي سيتم استخدامه سيكون أيضا قرارا من المقرر أن ينفذ في شفرة المصدر.


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


في ألم مع تفس / فستس.


التدوين حول إدارة دورة حياة التطبيق مع تفس / فستس.


إستراتيجية الإصدار العالمي & # 8211؛ AssemblyInformationalVersion.


سمعت من أي وقت مضى سمة الإصدار الثالث (اختياري) في ملفات أسمبليدينفو: أسمبليدينفورماتيونالفرزيون. لا؟ ارجوك اقرأ!


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


يتم تنفيذ كافة إصدارات التجميعات التي تستخدم وقت تشغيل اللغة الشائعة على مستوى التجميع. يتم تسجيل النسخة المحددة للتجميع وإصدارات التجميعات التابعة في بيان التجميع & # 8217 ؛. نهج الإصدار الافتراضي لوقت التشغيل هو أن يتم تشغيل التطبيقات فقط مع الإصدارات التي تم بناؤها واختبارها مع، ما لم يتم تجاوزها بواسطة سياسة الإصدار الصريح في ملفات التكوين.


يحتوي كل مشروع على ملف أسمبليينفو يحتوي على سمة أسمبليفرزيون وسمة أسمبليفيليفرزيون.


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


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


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


على سبيل المثال: يمكن أن يكون الإصدار 1 من تطبيق برنامج تعيين أسمبليفرزيون إلى 1.0.0 (كافة المكونات)، في حين يمكن تعيين أسمبليفيليفرزيون من المكونات الفردية إلى 1.0.15234.2 الذي يشير إلى رقم بناء فريد من نظام البناء و مرتبطة بتاريخ معين وتنقيح: & # 8220؛ 15 & # 8221؛ = عام 2018؛ & # 8220؛ 234 & # 8221؛ = عدد اليوم في عام 2018؛ & # 8220؛ 2 & # 8221؛ = بناء الثانية معالجته ذلك اليوم. وهذا يسمح أيضا لتصحيح المكونات الفردية في وقت لاحق في الإنتاج مع كومبليانسفرزيون مماثل (1.0.0)، ولكن مختلفة أسمبليفيليفرزيون (1.0.15235.1).


لذلك، دعونا نحاول تطبيق هذا على مشروع اختبار في فيسوال ستوديو ونرى تفاصيل التجمع بعد بناء المشروع & # 8230؛


الآن يجب أن تكون الخلط! لماذا يعرض "إصدار المنتج" أسمبليفيليفرزيون وأين & # 8217؛ s أسمبليفرزيون؟ المشكلة هنا هو أن مشروع فيسوال ستوديو جديد لا يتضمن & # 8217؛ t سمة إصدار ثالث أسمبليدينفورماتيونالفرزيون الذي يهدف إلى تمثيل الإصدار العام من تطبيق البرنامج بأكمله. لاحظ أن كلر لا تعتني بهذه السمة الثالثة (اختياري) للإصدار. وباختصار، يجب تطبيق نفس قواعد الإصدار الدلالي من أسمبليفرزيون على أسمبليدينفورماتيونالفرزيون.


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


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


في مرحلة ما بعد القادم سوف أتحدث عن كيف يمكنك تحقيق هذه الاستراتيجية الإصدار العالمي مع نظام البناء الجديد في تفس 2018.


آخر الملاحة.


ترك الرد إلغاء الرد.


ريال سيمفر يسمح علامة تجريبي مثل هذا & # 8220؛ 1.2.4-beta04 & # 8221؛. سيمفر كما يسمح البيانات الوصفية مثل بناء عدد، تاريخ، ارتكاب أو تشانجستيت مثل هذا & # 8220؛ 1.0.0 + 20180313144700 & # 8221؛.


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


يمكنك إعداد سوجستست أسمبليدينفورماتيوناتيونالفرزيون و أسمبليفرزيون إلى نفس الإصدار، ولكن بعد ذلك نحن تفقد هذا قوية ميزة سيمفر / فكرة. وكل ذلك & # 8217؛ s اليسار هو وضع بعض تمثيل تاريخ رقم البناء في التجميع فيليفرزيون (طالما أنها & # 8217؛ s في شكل 1.2.3.4)


ربما أسمبليينفورماتيوناليفرزيون يجب أن تبدأ مع أسمبليفرزيون ولكن تسمح لإضافة العلامة والبيانات الوصفية؟


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


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


معلومات الجمعية العالمية هي فكرة جيدة. بالمناسبة، يمكن للجمعية فيرسيونر و إنفو أوديتر مساعدة مدير المشروع / إصدارات الجمعية وغيرها من المعلومات لجميع المشاريع / التجميعات في واجهة مستخدم واحدة:


البصرية أكثر ذكاء لديها الكثير من الميزات من اثنين أعلاه.


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


البصرية أكثر ذكاء لديها الكثير من الميزات من اثنين أعلاه.


استراتيجيات متفرعة مع تففك.


في هذه المقالة.


فستس | تفس 2018 | تفس 2017 | تفس 2018 | فس 2017 | فس 2018 | فس 2018.


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


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


يمكن أن تكون الاستراتيجية الرئيسية فقط على أساس المجلد أو مع تحويل المجلد الرئيسي إلى فرع لتمكين ميزات الرؤية الإضافية. أنت تلتزم بتغييراتك إلى الفرع الرئيسي وتختار بشكل اختياري التطوير وإطلاق معالم مع التصنيفات.


المخاطر: قابلية التحول وعدم وجود التاريخ مع تسميات تففك يمكن أن تضيف خطر السيطرة على التغيير.


ابدأ باستراتيجية التفرع الرئيسية فقط، فرع استراتيجيا واعتماد استراتيجيات أخرى للتطور إلى استراتيجيات أكثر تعقيدا حسب الحاجة.


العزلة التنمية.


عندما تحتاج إلى صيانة وحماية فرع رئيسي مستقر، يمكنك فرع واحد أو أكثر من فروع ديف من الرئيسية، مما يتيح لك العزلة والتنمية المتزامنة. ويمكن عزل العمل في فروع التنمية حسب الميزة أو التنظيم أو التعاون المؤقت.


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


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


ميزة العزلة.


ميزة العزلة هو اشتقاق خاص من العزلة التنمية، مما يسمح لك لفرع واحد أو أكثر من فروع الميزة من الرئيسية، كما هو مبين، أو من فروع ديف الخاص بك.


عندما تحتاج إلى العمل على ميزة معينة، قد يكون من الجيد إنشاء فرع ميزة.


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


عزل العزلة.


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


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


أبدا إعادة دمج (في) من الفروع الرئيسية وقفل الإفراج باستخدام أذونات الوصول، لمنع التعديلات غير مقصودة على الإصدار. التصحيح والإصلاحات الساخنة المقدمة إلى فرع الإفراج يمكن عكس العكس (ري) العودة إلى الفرع الرئيسي.


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


الخدمة والإفراج العزلة.


تقدم إستراتيجية تقديم الخدمات والإفراج عن الخدمة فروع الخدمة، مما يتيح إدارة الخدمة المتزامنة لحزم الخدمة، ولقطات دقيقة من قاعدة التعليمات البرمجية في الخدمة ووقت الإصدار.


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


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


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


خدمة، الإصلاح العاجل، عزل العزلة.


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


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


لماذا يجب أن تكون الفروع قصيرة الأجل؟


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


لماذا فرع فقط إذا الضرورة؟


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


لماذا إزالة الفروع؟


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


هل يمكن تشعب قاعدة الشفرة عبر مشاريع الفريق؟


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


ماذا عن إستراتيجية ترويج الشفرة؟


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


عند دمج ديف إلى الفرع الرئيسي، لماذا لم يتم الكشف عن أي تغييرات؟


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


هل هناك أوجه تشابه بين إستراتيجيات فرع الصندوق الاستئماني للضرائب و الاستثمار و الاستثمار؟


و تففك ميزة العزلة استراتيجية المتفرعة تشبه فروع الموضوع جيت.


المؤلفون: جيسي هوينج، ماركوس فرنانديز، مايك فوري، ويلي شوب.


(ج) 2018 شركة ميكروسوفت كوربوراتيون. جميع الحقوق محفوظة. تم توفير هذه الوثيقة & كوت؛ كما هو. & كوت؛ قد تتغير المعلومات والآراء المعبر عنها في هذه الوثيقة، بما في ذلك عناوين ورل ومراجع موقع ويب الأخرى، دون إشعار. أنت تحمل مخاطر استخدامه.


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


استراتيجيات فعالة تفرع المتفرعة ل ديفوبس.


في هذه المقالة.


هل تخطط لاحتضان ديفوبس باستخدام فريق مراقبة الإصدار مؤسسة (تففك)؟ ربما لديك بعض الأسئلة، مثل:


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


(بناء على مقابلة مع أبيل وانغ وستيف ست جين)


تففك هو نظام مراقبة النسخة المركزية للحفاظ على رمز وجعل فرق أكثر فعالية، من خلال توفير التعاون وتبادل التعليمات البرمجية متسقة، والنشر، وميزات الاستعراض.


أبقيها بسيطة!


من خلال اعتماد استراتيجية فعالة للتفرع، سوف:


تعزيز ثقافة ديفوبس تعزيز تدفق التعاون وزيادة الإنتاجية تمكين الفرق لقضاء المزيد من الوقت في تطوير وأقل وقت إدارة التعليمات البرمجية.


لتبني برنامج ديفوبس، من المهم الحفاظ على استراتيجية فرعك بسيطة والسعي لتحقيق جودة عالية. بعض الاقتراحات:


تبدأ مع استراتيجية بسيطة وتتطور حسب الحاجة استخدام اصطلاحات تسمية متسقة لفرع الميزات / اسم المستخدم / وصف للعمل الذي يؤديه الفرد - سبيل المثال، ميزات / ساندرا / سك-جافا بوجفيكس / اسم المستخدم / بوجيد للعمل المنجز محددة إلى علة الهندسة - مثال، بوجفيكس / تاكاشي / 707 الإصدارات / نسخة للإصدارات المخطط لها - سبيل المثال، النشرات / V1.00 عكس عكس الاندماج (ري) والاندماج في الفرع الرئيسي الخاص بك تشجيع مراجعات رمز ثابت - القمامة في القمامة خارج تنفيذ خط أنابيب سي / سد، باستخدام: بوابات تشيكينز اختبار الآلي.


تبدأ مع استراتيجية المتفرعة بسيطة.


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


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


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


تبدأ مع بسيطة فقط الرئيسية المتفرعة الاستراتيجية.


أتمتة البناء الخاص بك لتحريك مع كل تشيكين إلى الفرع الرئيسي، تشغيل الاختبارات الآلية، وإذا نجحت، نشر الإفراج إلى بيئة التنمية (ديف).


When you complete a release cycle, create a release branch. Use the release branch to stabilize the release, and continue development for your next version in main. Reverse integrate (RI) and merge validated bug fixes with your main branch frequently, to minimize your overall technical debt.


Automate your build to trigger with every checkin to the release branch, run automated tests, and use release management to deploy to a development, quality assurance, user acceptance, staging, and finally your production environment.


When version 2 becomes the Release Candidate you can update your existing RC build definition to point to the V2.00 branch and it will now build and release just as V1.00 did when it was the current version.


Expand branching strategy as needed.


When the need arises to support more than one production version, for example a commercial solution such as Word, you can expand your simple branching strategy.


For every completed release cycle you need to support, create a new release branch and continue next version development in main, using feature isolation. Take note of the reverse integration (RI) merges from v1.0 and v2.0 to main , which represent bug fixes that are released to production.


So, by using a simple branching strategy and adopting a consistent naming convention , you'll be able to support applications that have one or more supported releases, continuous development of new features, and continuous delivery of value to your users.


Checklist and lessons from the field.


Keep it simple and expand branching complexity as needed Organize your code into shippable units Use a consistent naming strategy for your branches Build with every check in Create a CI/CD pipeline using gated checkins and automated testing.


Lessons from the field - things to avoid.


Avoid going branch crazy! merging changes comes with complexity and a cost there's no need to have a separate branch per environment Avoid using cherry-picking to get your code to production Do not attempt to solve people or process problems with tools.


Reference information.


Authors: Sergio A Romero | Find the origin of this article and connect with the ALM Rangers here.


(c) 2017 Microsoft Corporation. كل الحقوق محفوظة. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it.


This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes.

No comments:

Post a Comment