Hudson (veya çatal Jenkins) kurmak gerçekten zor değildir; dahili olarak kullanıyoruz. Biz sadece iphone yapıları onu çalıştırmak değil - aslında, iphone için sadece bir yalnız mac mini kurmak ve nispeten yeni bir ek var. Bir süredir diğer farklı platformlar için yarım düzine başka köle de vardı.
Ayarlamanın ne kadar kolay olduğunu anlamak için, Meet Hudson sayfasındaki "Test Sürüşü" bağlantısından ulaşabilirsiniz. (Beni bunun üzerinde satan şeylerden biri. Başlamak çok kolaydı, ama hala son birkaç yılda büyümemizi sağlayacak şekilde yapılandırılabilir, genişletilebilir ve güçlü. Gerçekten çok kederli bir el yığınının yerini aldı. yazar olmasına rağmen, dinlenmeyi görmeyi çok mutlu ettiğim komut dosyaları ve programlar.)
Hudson arka ucunda bir Mac OSX sunucusunda çalışıyoruz, ancak çalıştırılamamanın bir nedeni yok. hemen hemen her yerde (linux, windows, mac).
Yapılandırma için yapılandırmaya gelince, proje yapılandırmasında, çoğunlukla xcodebuild
numaralı telefonu arayarak ve -project
ve -configuration
bağımsız değişkenlerini geçirerek yaklaşık 6 satırlık kabuk komut dosyası komut dosyasıdır.
Örnek: Henüz bir hizmet olarak çalışacak şekilde köle kurmadıysanız
cd ${WORKSPACE}/Engineering/
set -e
set -v
xcodebuild -project foo.xcodeproj -alltargets -configuration Distribution clean
xcodebuild -project foo.xcodeproj -alltargets -configuration Release clean
xcodebuild -project foo.xcodeproj -alltargets -configuration Debug clean
xcodebuild -project foo.xcodeproj -alltargets -configuration Distribution
xcodebuild -project foo.xcodeproj -alltargets -configuration Release
xcodebuild -project foo.xcodeproj -alltargets -configuration Debug
- Bu TODO listesindedir. Şimdilik, mini'yi yeniden başlattığımızda JNLP ile başlatıyoruz.
Deposu SVN'dir ve hudson yöneticisi bizim için https kimlik bilgisini hatırlamakla ilgilenir.
Email-ext eklentisini aktif olarak kullanıyoruz ve sistemi kullanan pek çok kişi olduğundan ve bazı yapıların iyi durumda olmadığından, bir zaman aşımı eklentisi ve denetim izi eklentisi kullanıyoruz. Warnings eklentisi ve Static Code Analysis plugins ile kısaca deneyler yaptık, daha fazla projede kullanılanları almamız gerekiyor (genellikle hatalar oluşturuyor, ancak bazı projelerde PC-Lint ve diğer araçları kullanıyoruz; burada izlenen çok güzel). Son olarak, tüm önemli Chuck Norris ve Emotional Hudson eklentileri.
Şu an için iPhone sürümlerinde birim testleri (utanç yok!) Çalışmıyor ve yalnızca arka arkaya inşa edilen "Archive the Artifacts" işlevini kullanacağız. Hudson web arayüzü üzerinden yetkili kullanıcılardan erişilebilir. Şüphesiz, ünite testlerinizi çerçevede yürütmeniz zor olmayacaktır.
< Bizim tek gerçek sorunları mac mini'nizdeki AFP ve SMB ile yapmak zorunda >
/fanboy - hiç Hudson ile ilgisi, daha sadece bizim iç ağ altyapısını. Ve mini benim zevklerim için biraz yavaştır - biz genellikle hızlı autobuild dönüşünün iyi bir şey olduğu teorisine oldukça beceriksiz bir şekilde köle inşa ederiz. Mini, bir sebepten dolayı bu nedenle bir SSD'ye hediye edilebilir.
Mac OS X sunucusu, derleme konusunda özel bir şey eklemiyor. – Seth
@shader Bu içeriği kaldırdığınız anlaşılıyor. – ThomasW