Benim sürekli dağıtım iş akışını iyileştirmek yardımcı

0 Cevap php

Bir PHP proje için I've been developing a workflow for practicing a mostly automated continuous deployment döngüsü. 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:


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.

Continuous Dağıtım Workflow

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. Biz Puppet ile Debian paketleri kurma ve şimdi Linode dilimleri 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 bizim EC2 oluşturur ve üzerinde dağıtımları yapıyor olmalıdır dan olsun-go?

  • Başka bir soru re: EC2 ve Puppet. Biz de bir çözüm olarak Scalr kullanarak düşünüyoruz. Yalnız bunun için Puppet yü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; Selenium testler that çalışıyor olmamalı sık sık EC2 örnekleri 7/24 çalışıyor olacak kurmak, ama böyle bir şey için bir beş- dakika yapı, EC2 kullanı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.

0 Cevap