Bir PHP proje için I've been developing a workflow for practicing a mostly automated continuous deployment döngüsü. Strong> Bazı olası süreç hakkında geri bildirim ya da bu iş akışında teknik darboğazları, iyileştirme önerileri ve daha iyi kolaylığı otomatikleştirmek ve artırmak için nasıl fikirleri istiyorum Benim takım için kullanımı.
Core components:
Hudsona> CI sunucusuGitveGitHuba>PHPUnita> ünite testleriSelenium RCa>Sauce OnDemandfor automated, cross-browser, cloud testing withSelenium RCPuppeta> test sunucusu dağıtımları otomatikleştirmek içinGerrita> Git kod incelemesi içinGerrit TriggerforHudson
EDIT: Ben tarafından dikkate ircmaxwell katkılarını almak için iş akışı grafiği değişti ettik: için PHPUnit 's kaldırma uzantısı Selenium RC sadece bir parçası olarak bu testleri çalışan QC sahne; QC aşama eklenmesi; kod gözden sonra ancak birleştirmelerinin önce UI test hareketli; QC aşamasından sonra birleştirir hareket ettirilmesi; birleşmesinden sonra dağıtım hareketli.
Bu iş akışı grafik işlemini açıklar. Sorularım / düşünceleri / endişeleri izleyin.

My concerns / thoughts / questions:
Bu sistemi kullanarak genel zorluk.
Zaman tutulumu.
Zorluk istihdam
Gerrit.Zorluk istihdam
Puppet.Biz
Amazon EC2örneklerini sonra dağıtma olacak. BizPuppetileDebianpaketleri kurma ve şimdiLinodedilimleri dağıtma hakkında gidiyoruz, {[(3 üzerinde çalışan bir dağıtım için bir potansiyel var )]} {kırmak için [(5)]}? Bunun yerine bizimEC2oluşturur ve üzerinde dağıtımları yapıyor olmalıdır dan olsun-go?Başka bir soru re:
EC2vePuppet. Biz de bir çözüm olarak Scalr kullanarak düşünüyoruz. Yalnız bunun içinPuppetyükünü önlemek ve bunun yerine Scalr yatırım olarak çok mantıklı olur? Ben maliyeti hakkında burada bir ikincil (ha!) endişe var;Seleniumtestler that çalışıyor olmamalı strong> sık sıkEC2örnekleri 7/24 çalışıyor olacak kurmak, ama böyle bir şey için bir beş- dakika yapı,EC2kullanımı bir saat için ödeme biraz fazla gibi görünüyor.Olası süreç birleştirmelerinin üzerinde darboğazları.
"A" taşınmış olabilir?
Credits: Bu iş akışının bölümleri vardır inspired by Digg's awesome post on continuous deployment. Yukarıda akışı grafik olduğunu inspired by the Android OS Project.