سؤال

وبعد استخدام هدسون للتكامل مستمر مع المشروع السابق، أريد أن إعداد ملقم التكامل المستمر للمشاريع فون أعمل عليه الآن. بعد القيام ببعض الأبحاث يبدو أنه لا يوجد أي محركات CI التي صممت خصيصا لكسكودي، ولكن شخص واحد حقق نجاحا <لأ href = "http://www.pragmaticautomation.com/cgi-bin/pragauto.cgi/Build/ XcodeOnCC.rdoc "يختلط =" noreferrer "> باستخدام تحكم أوتوماتيكي للسرعة جنبا إلى جنب مع xcodebuild أداة CLI على . هل حاول أي شخص هنا هذا؟ هل هناك أي محركات CI التي تعمل بشكل جيد مع مشاريع كسكودي؟

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

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

المحلول

وأنا بنجاح باستخدام هدسون في لجنة الهدنة العسكرية مع xcodebuild. مع الافراج عن اي فون SDK 3.0 لديك تنافس السيطرة على الهدف والتكوين والإستراحة أن المشروع سيتم بناؤها ضد.

وانها بسيطة مثل إنشاء خطوة في بناء هدسون، ونقول xcodebuild لإنشاء المشروع:

xcodebuild -target "myAppAppStore" -configuration "DistributionAppStore" -sdk iphoneos2.1

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

توزيع التطبيق فون جعلت من السهل

نصائح أخرى

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

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

ول Adium تستخدم buildbot مع كسكودي فعال تماما. كتبنا MAKEFILE بسيط هو أن يدعو xcodebuild مع الأهداف وتكوينات ملائمة، ولكن أنا متأكد من هذا اختياري.

وأبل فقط إطلاق سراح (10 يونيو 2013) لOSX مافريكس (OS X 10.9) منصة التكامل جديدة المستمر الذي هو الحل الأكثر تكاملا التكامل المستمر الذي رأيته من قبل. كان متوفرا من developer.apple.com، هنا في هذه الصفحة لديه تفاصيل:

https://developer.apple.com/library / دائرة الرقابة الداخلية / وثائق / ايديس / المفاهيمية / xcode_guide-continuous_integration /

وأوصي لرؤية العرض WWDC 2013 حول هذا الموضوع.

ولقد استعملت CruiseControl مع كسكودي (مشابهة إلى ما أتمتة واقعية المقترح) وحققت نجاحا معقولا. أنا أيضا مألوفة جدا مع CruiseControl وانها مروع نسبيا الإعداد شكل التكوين.

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

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

وأعتقد أن عليك أن تكون لا تزال قادرة على استخدام هدسون. هدسون هو مرن جدا ويسمح لك أيضا استخدام البرامج النصية قذيفة بناء: <لأ href = "http://hudson.gotdns.com/wiki/display/HUDSON/Building+a+software+project#Buildingasoftwareproject-ShellScriptsandWindowsBatchCommands" يختلط = "نوفولو noreferrer"> سكربت شل ويندوز أوامر دفعة

وهناك فقط ادخل xcodebuild. نلقي نظرة على الصفحة رجل xcodebuild لرؤية خيارات xcodebuild.

إذا كنت لا تمانع في العيش على حافة القطع لقد ارتكبت مجرد <لأ href = "http://blog.jeffreyfredrick.com/2008/11/27/continuous-integration-for-iphonexcode-projects / "يختلط =" نوفولو noreferrer "> كسكودي باني للحصول على CruiseControl.

يبدو

وجنكينز للعمل بشكل جيد بالنسبة لبعض الناس. (على الرغم من أنني لم تستخدم أي خادم CI قبل).

https://wiki.jenkins-ci.org/display/JENKINS/ كسكودي + البرنامج المساعد

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

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

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