سؤال

لدي مثبت NSIS الذي بنناه مسبقا باستخدام البرامج النصية Nant التي نسخ بعض الملفات حولها وتشغيلها Makensis.exe عبر مهمة EXEC لإنشاء المثبت EXE. بعد اكتمال البرنامج النصي Nant، لدي هيكل COMPLETE للقرص المضغوط الخاص بنا وأيضا تنزيلنا.

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

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

هذا ما اقتحم الدماغ حتى الآن، دون أن تأكد من أن هذا سيعمل جيدا، إذا كان ذلك على الإطلاق (لا يزال يؤثر على ما يدور حول كل شيء من CCNet و CI. "الإصدار العام" CCNET Project Config / Build سيكون الإعداد بحيث ليس الحصول على اخر الاشياء. التعديلات سوف ليس تحريك بناء. نظرا لأن مشروع CCNET الآخر يستخدم منهجية CI الافتراضية (سنطلق عليه "مشروع CI") لتحقيق الأحدث عند اكتشاف التغييرات، فلا يمكن لمشاركة هذين المشروعين في نفس دليل العمل. لذلك سيحتاج "الإصدار العام" إلى نسخة عمل مختلفة، بحيث لن يتم تحديث ملفاتها عند بدء بناء مشروع CI. سيحتاج المطور إلى جهاز التحكم عن بعد إلى الخادم، وواحد VSS، ويفعلان بشكل انتقائي نسخة عمل "الإصدار العام"، ثم فرض بناء من خلال مصنع CI.

العيوب التي أراها مع هذا هو
1) الاضطرار إلى جهاز التحكم عن بعد يحصل بشكل انتقائي.
2) ليس لدي أي فكرة عن كيفية السماح بمشروع مصنع CI واحد للحصول على نسخ عملين مختلفين من مجلد المنتج، بحيث يكون لكل كتلة تكوين المشروع الخاصة به.
3) أخشى أي نوع من الغرابة قد يسبب هذا. لست متأكدا تماما حتى الآن كيفية تحديد كتلة تحكم مصدر في كتلة CCCNET Project Config Config، ولكن منعها من القيام بأحدث التحرير عند البناء. ما زلت أعرف تدريجيا ما هي الأشياء في البرامج النصية ويمكن إخراجها بسهولة دون كسر الأشياء الأخرى، مقابل ما لا يقصد من المقصود أن يتجه مع و / أو غير قابل للتكوين.

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

شكرا مقدما.

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

المحلول

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

تحقق من هذه أنماط المتفرعة. وبعد اقترحت C3، Codeline-CerneRED، غالبا ما يسمى تفرع الإفراج.

هيريس آن شرط على المتفرعة VSS يتضمن رابطا للاندماج.

هذه سؤال يبدو مماثل.

ربما يمكنك الانتقال إلى نظام تحكم مصدر آخر مع دعم أفضل لهذا النوع من الأشياء. أي اقتراحات من مرض التصلب العصبي المتعدد من الناس هناك؟

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