سؤال

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

ما الذي أبحث عنه في جهاز الكمبيوتر الذي سيتم استخدامه للتكامل المستمر لفريق PHP صغير جدًا (3 أشخاص)؟

ما هي "الأشياء" (الذاكرة، المعالج، وما إلى ذلك) المهمة، وما هي غير المهمة؟

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

المحلول

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

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

لقد قمت بإعداد إعداد تكامل مستمر لـ .NET على محطة عمل Pentium4 قديمة كنا نستخدمها وتم التعامل معها بشكل جيد.

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

نصائح أخرى

أصبح التخزين هو المشكلة بالنسبة لنا عندما كنا نستخدمه مخضرم, الأستمرارية و قضية واضحة والبناء كل ساعة.تم ترك مشاهدات اللقطة بعد كل بناء.

كان لدينا صندوق قوي بما فيه الكفاية (Sun Fire V490) واستخدمناه لبيئة تكامل التطوير لدينا و أرشيفا مخزن.لذلك لم نواجه أبدًا أي مشكلات تتعلق بالأداء والذاكرة.في الواقع، المرة الوحيدة التي واجهنا فيها مشكلة مع ذاكرة PermGen كانت بناء هدف موقع Maven وهذا يعني فقط استخدام -XX:MaxPermSize=128m.

من تجربتي، ليس من الضروري أن تكون هذه آلة قوية.أي جهاز ستستخدمه للتطوير سيكون أكثر من مُرضٍ.من الواضح أنه كلما زادت سرعة الجهاز، زادت سرعة الاستجابة إذا كنت تجري اختبارات الوحدة على عمليات تنفيذ التعليمات البرمجية.يعمل خادم CI الخاص بنا على تشغيل XP SP2، ومعالج 3G، وذاكرة وصول عشوائي (RAM) 3G، وهو يفوق احتياجاتنا في الوقت الحالي.ومع ذلك، من الجيد أن تتلقى رسالة بريد إلكتروني في مدة لا تزيد عن 6 دقائق بعد الالتزام تتيح لك معرفة ما إذا كان الإصدار نظيفًا وتم اجتياز جميع الاختبارات.للقيام بالبنيات الليلية، من المحتمل أن تنخفض المواصفات أكثر، حيث من المحتمل أن يكون لديك المزيد من الوقت لإنجازها.تعد مساحة القرص الصلب (يمكن الوصول إلى 300 جيجا بايت بشكل معقول هذه الأيام) أمرًا رائعًا لتخزين التقارير والإنشاءات للانحدار، ولكن إذا كان لديك NAS، فمن المحتمل أن تتمكن من التخلص من القطع الأثرية بعد بنائها.

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

  • 2-4 غيغابايت من ذاكرة الوصول العشوائي، وأكثر إذا كنت ترغب في إجراء العديد من الاختبارات بالتوازي أو إذا كنت ترغب في تشغيل أجهزة افتراضية لمحاكاة العملاء.
  • معالج متعدد النواة (أو معالجات متعددة) لزيادة فرص اكتشاف أخطاء الترابط.
  • تميل أجهزة فئة "الخادم" إلى التعامل مع التشغيل على مدار الساعة طوال أيام الأسبوع بشكل أفضل من أجهزة فئة "سطح المكتب"، ولكن لا يوجد خط واضح بين الاثنين.
  • تعد أقراص RAID1 أو RAID1+0 الزائدة أمرًا ضروريًا.حتى لو كان لديك نسخ احتياطية (ويجب أن تكون لديك على أي حال)، فمن الصعب إعادة بناء الخادم، كما أن القرص الصلب الإضافي بقيمة 100 دولار أكثر من قيمة المال كتأمين.

كبش:يكفي لتشغيل أداة CI الخاصة بك (phpUnderControl؟) وأي برنامج داعم تريده للبناء والاختبارات.

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

وحدة المعالجة المركزية:غير قضية.أي آلة يمكنك شراؤها ستعمل.

لذلك بين الاثنين أميل إلى تفضيل ذاكرة الوصول العشوائي (RAM) على مساحة التخزين.

ما لم يكن التطبيق ضخمًا، فسأحصل على صندوق ثنائي النواة يحتوي على حوالي 4 غيغابايت من ذاكرة الوصول العشوائي وربما قرصين SATA سريعين بشكل معقول في RAID 0.500 العربات ربما؟

إذا كنت تريد أن تكون آمنًا حقًا معه، فاحصل على محركي أقراص بسعة 70 جيجا بايت لـ RAID 0 لقسم نظام التشغيل ثم 3 محركات أقراص بسعة 140+ جيجا بايت في RAID 5 للبيانات.

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

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

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

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