SO bu konuyla ilgili burada soruların çoğu aracılığıyla okudum, ama ben gerçekten bizim durumu uyan herhangi bir iyi tavsiye bulamıyorum. Ben bu iş akışını miras, ve ben daha iyi yapmaya çalışıyorum.
Our setup
- PHP kod tabanı (Kohana özellikle)
- kod tabanı güçler ~ 60 siteleri, benzersiz şablonları ile her (yani 60 QA [Kalite Güvence] çok etki)
- Her site farklı varlıklar ve kaynaklar için A-kayıtları (her etki alanı için yani 8 A-kayıtları) vardır
- 3 geliştiricileri
- 3 tasarımcılar
- geliştiriciler, yerel kalkınma için üretim sunucu VMware görüntü var
- tasarımcılar yok
- QA için kullanılan paylaşımlı fiziksel gelişimi sunucu, bir post-commit update her zaman gövde mevcut BAŞ bu sunucu tutar
- üretim sunucu, canlı ne özellikleri bağlı olarak farklı revizyonlar bir mix ve maç güncellendi
Our Work flow
- Belirli bir özellik tamamlandı ve ardından iç QA için gövde için tüm özelliğini taahhüt kadar Geliştiriciler yerel olarak çalışabilir.
- Tasarımcılar sadece CSS / images / şablonları küçük değişiklikler yapmak. Onlar, gövde doğrudan taahhüt kendi değişikliklerini QA, ve genelde üretim sunucusundaki karşılık gelen dosyalar, hemen onların QA sonra güncelleyin.
- Özellikleri canlı gitmek için hazır olduğunuzda, üretim sunucusu elle özelliği ile ilgili her dosya için uygun revizyon numaraları güncellenir. Bazen bu diğer zamanlarda (çok
svn log
memba bağımlılıkları aramak için çağrıda) oldukça kıllı, basittir.
Our problems
- Üç farklı geliştiriciler QA farklı miktarlarda gerekir farklı özellikleri üzerinde çalışıyor, biz kendimizi bir düzenli olarak yukarı bağımlılık sorunları koşma içine bulabilirsiniz.
- Herhangi bir anda, biz programlama özellikleri üretim sunucusuna ve hangi değildir üzerinde hangi belirlemek için bir yol yok.
svn status -u
dosyaları güncel değil hangi bize gösteriyor, ama genellikle özellikleri net bir resim değil olacaktır.
What I know
- Bazı sorunların bir üretim dalı alarak hafifletilebilir. Bu yukarı bağımlılık sorunları çözmek değil, ancak biz en azından monitör özellikleri, üretim ve zaman içine ilave ediliyordu hangi.
- Özellik dalları bir seçenek vardır ve biz geçmişte o denedi. Nedeniyle bizim yazılımı şube başına 60 QA etki gerektirir aslında, biz orada süreç yönetimi konularında çalıştırmak. Örneğin, her özellik şube için 480 (60 etki alanı başına x 8) kayıtları A-kayıtlarının oluşturulması.
- Geliştirici dalları da bir seçenek vardır, ama bizim özellik QA kez değişir. Ben kesinlikle başka bir şey işlemek için gereken önce bir önceki özellik QA dışında olacağını söyleyemeyiz.
Upstream Dependency Example
- Geliştirici bir yönetici ve ön uç hem de yeni bir slayt gösterisi özelliğini ekler.
- Geliştirici B admin ve ön uç hem de yeni bir geri bildirim özelliği ekler.
- Değişiklikler yeni özellikler hem de hesap için bu ilgili dosyalara yapılan bu yüzden bu özelliklerin ikisi de, Yer model / denetleyicisi mantığı ile iç içe.
- Slayt gösterisi özelliği QA girer, ancak bazı gelişimsel gözetim veya kapsam sürünme tarafından tutulur.
- Feedback özelliği QA girer ve sorun olmadan geçer.
- Biz zaman çizelgesi takip ve üretime geri bildirim özelliği itmek istiyor, ancak her iki özellikleri Yer model / denetleyicisi gerekli değişiklikleri çünkü biz bunu doğrudan yapamaz. Yani biz sadece bir
svn update file1 file2 file3
yapamaz, olduğunu. - Note: This is a simple example, and it can be worked around by doing some reverse merging. Oftentimes our problems are complex than this.
Multi-site Structure Information
- Biz vb görünümleri, görüntüler, CSS dosyaları, JS dosyaları, oluşan, önceden tanımlanmış yapısal temalar bir dizi var
- Her site bir tema atanır.
- Markalaşma ve genişleme nedenlerden dolayı, her site bir özel manzaralı bir tema görünüm geçersiz veya ek sitesi özgü CSS / JS dosyaları içerebilir.
Ben de benzer sorunları ile mücadele var orada diğer bazı insanlar vardır eminim ve ben internette akıllı insanlardan bazı bilgiler almak için umuyorum. Dediğim şey anlaşılmaz görünüyor eğer soru sormak için çekinmeyin!