Yerel / Dev / Canlı dağıtım - en iyi iş akışı

1 Cevap php

situation

3 kişi ile Biz küçük bir şirket, her bir localhost web sunucusu vardır ve en projeleri (önceki ve şimdiki) bir PC ağ paylaşılan disk üzerinde bulunmaktadır. Biz sanal sunucu var, nerede müşterilerimizin siteleri ve Sitemizdeki.

Bizim standart iş akışı:

Coder PC → Programmer localhost → dev domain (client.company.com) 
                                        ↓
                                  live version (client.com)

Genellikle, aynı anda aynı proje üzerinde çalışan iki ya da üç adamlar vardır ki, olur - bir dev sürümü, iki localhost üzerinde bulunmaktadır.

Bittiğinde, biz dev sürümü dosyaları senkronize çalışın ve ideal mess (thanks ILMV:] ) up any files, which *knock knock * sık olmaz değil.

Ve sonra bize bir canlı web sunucusu üzerinde dev sürümünü dağıtır.

question

web sitelerini güncelleyerek ederken, bu iş akışını kolaylaştırmak için bir yol arıyoruz - ideal fark Yükleyen veya VCS muhtemelen (Git / SVN / VCS / ...) çeşit, ama biz başlamak için ya da ne şekilde ideal olacaktır nerede tam olarak emin değilseniz , bu yüzden web sitesi / uygulama dağıtımı ve önerilen iş akışı ile deneyimi için adam stackoverflowers, size sormak.

Biz belki de süreç içinde Mac kullanmak gerekir, bu yüzden bir sorun olmayacaktır eğer, o daha iyi olurdu.

Teşekkür ederim

Edit: One of the crucial parts is moving website from dev to live after any working update. Edit: I will check MaxVt's answer if no other will appear :)

1 Cevap

Bu bir yer soru, ancak genellikle sizin süreçlerini iyileştirmek için yapmak gereken üç büyük gelişmeler vardır.

Use version control

Projeler paylaşılan bir disk üzerinde iseniz, ben her projenin mevcut durumu ile sadece bir klasör var varsayalım. Geliştiriciler birbirlerinin değişiklikleri üzerine yazmak için hiçbir geçmişimiz var, kolay, ve bir proje tutarlı bir devlet ya da bir şey ise şu anda kırık emin olamaz.

Bir sürüm sistemi seçin ve kullanmaya başlayın. (- SVN Tamam olduğunu ve daha fazla "merkezi", git ya da cıva büyük ve daha fazla esneklik sağlayan ücretsiz olanlar), ancak herhangi bir değişiklik olursa olsun, ne kadar küçük, her sürüm kontrolü geçer daha önemli hangisi daha az önemlidir.

Simplify promotion, deployment and rollback

Orada dev localhost'tan taşımak için artık gerekli adımların bir dizisi muhtemelen, ve dev üretime - gerekenleri anlatan bir belge var olabilir ..., dosyalarını senkronize bilinen bir duruma veritabanını geri, sunucuya özel ayarlarını yapılandırmak yapılabilir, ya da aşiret bilgi olabilir. Amacınız basitleştirilmesi ve otomatik, kaynak denetimi bir proje revizyonu için bir sunucu (yerel, dev ya da üretim) eşitlemek için gerekli tüm çalışmaları yapmak için tek bir komut veya komut dosyası elde başlamak olmalıdır.

Dağıtımını otomatik olarak, gerekli tüm eylemleri doğru sırayla yapılır emin olabilirsiniz, ve tüm dosyalarını doğru ancak bazı yapılandırma veya komut siteyi kırma, koşmak değildi bile olabilir dağıtım hatalar olmaz.

Introduce testing

Nasıl sadece dağıtmış olduğunuz revizyon düzgün derler, ama beklendiği gibi çalışır sadece biliyor musunuz? Her Önemsiz olmayan proje için, geliştiriciler tarafından yapılan değişiklikleri düzgün çalışan site sol emin olmak için (vb, raporlar, şeyler ekleyerek üreten, giriş) en önemli işlevselliğini doğrulamak için testler olmalıdır.

Özellikle test web uygulamaları için test çerçeveler vardır (Selenium akla geliyor). Onları çalışmaya ve bunları uygulayın. İdeal olarak bu test süit one-liner dağıtım senaryonun parçası olarak çalıştırmak olacaktır.


Bu yaptıktan sonra, bir düzenli, öngörülebilir ve esnek geliştirme süreci olan uzun bir yol kat ettik. Müşterileriniz ve geliştiriciler bunun için size teşekkür edecek :)