Sürüm kontrolü PHP Web Projesi

8 Cevap php

Biz sürüm kontrolü istiyorum bir php proje var. Şu anda bize tüm Eclipse sadece harici bir klasör ile kendisine bağlı olan projenin bir "Dev" sürümü üzerinde çalışan üç, ve böylece hiçbir sürüm kontrolü vardır.

Bu doğru yolu nedir ve hangi sürüm kontrolü için, en iyi yoldur (mutlaka aynı değil bence yok)

Biz bir SVN kurmak var ama sadece check-in ve bize dev sunucu üzerinde test etmenizi sağlayan kontrol etmek iyi bir yol bulmalıyız. Herhangi bir fikir?

8 Cevap

Biz benzer bir durum vardı, ve biz burada yapıyor sona budur:

  • Iki şube kurmak - bırakma ve geliştirme şube.
  • Geliştirme şube için, dev sunucu depo dağıtır, bir post-commit kanca içerir, böylece test edebilirsiniz.
  • Hazır olduğunuzda, size bırakma şube içine değişiklikleri birleştirmek. Ben orada da dağıtım için bir post-commit kanca koyarak öneririm.

Ayrıca kendi iş istasyonlarında, ekip üyelerinin her biri için bireysel gelişim serverları kurabilirsiniz. Ben biraz daha kurulum zaman var olsa da, şeyleri biraz hızlandırır bulabilirsiniz.

Biz özel bir CMS kullanarak çünkü, tek bir geliştirme sunucusu kullanmak zorunda ve lisans konuları koştu. Yani bizim post-commit kanca basit bir FTP bot oldu.

Burada ne olduğunu:

  • Her dev bizim entegrasyon sunucusu gibi yapılandırılmış bir VM var
  • Entegrasyon sunucu Trunk için boşluk, her kullanıcı, ve şubeler için birkaç yuvası bulunur
  • Üretim sunucusu
  • Commits yapıldığında Kancalar e-posta Subversion vardır

Bir projenin başında, kullanıcı bir şube yapar ve kendi kişisel VM bunu denetler yanı sıra veritabanı temiz bir kopyasını kapmak. Onlar gitmek gibi işlediği, işlerini yapmak.

Onlar kendi kişisel uzayda şeyi bittiğinde onlar bütünlüğü sunucusu oturum ve onların şube kontrol, kendi şube geçer hepsi Trunk birleştirilir zaman onların testleri, vb çalıştırın.

Trunk testlerin tam takım işletilmektedir, yeniden inşa, ve tüm iyi ise o onay büyük ol 'damgası alır, SVN'de etiketli ve gecenin sonunda Üretime teşvik edilmektedir.

Herhangi bir noktada bir başkası tarafından yapılmış taahhüt ederseniz, biz bir e-posta almak ve bireysel şube bu değişiklikleri birleştirebilirsiniz.

Beanstalk yerleşik post-commit kanca, geliştirme dağıtma evreleme ve üretim sunucuları için.

PHP geliştirme için hainlere kullanmak için tek yol çok, bir veya üç geliştiriciler için bir depo kurulum ve bu depoyu kullanmak daha doğru sürüm kontrolü daha senkronizasyon aracı olarak.

Olabilir,

  • Bir repo yapmak

  • Projenizin tüm PHP belge yapısını ekle

  • Sizin dev sunucu üzerinde doğru noktaya içine bu repo bir kopyasını Ödeme

  • Taahhüt üzerine harekete geçen svn kanca kullanın

Bu kanca, otomatik dev sever içeriğini, herhangi bir kod ekibi çeklerde zaman kimseyi güncellenir.

Kanca bulunur:

svn_dir / repo_name / kanca / post-commit

Ve gibi görünebilir:

/ Usr / bin / svn / yukarı yenisi / webroota - username svn_user - şifre svn_pass

Yani in son check dev sunucu üzerinde çalışan bir kopyasını güncellenir

Ne bir şey dağıtılan yaklaşık? Sen, Mercurial örneğin başlatmak farklı iş akışları deneyin, ve kimse size en uygun olduğunu görebilirsiniz.

Her biriniz yerel olarak çalıştırın, ya da kendi dev sunucusu (farklı bir bağlantı noktasına sahip, hatta aynı bir ...) üzerinde olabilir.

Mümkün bir yol (muhtemelen daha iyi yolu vardır):

Senin her projenin kendi kontrol sürümü olmalıdır.

Bilgisayarınızdaki sunucunun yerel bir kopyasını ve gün boyunca orada test edin. Sonra her gün (ya da her) sonunda, size test etmek için hazırız ne olursa olsun bir arada birleştirme ve dev sunucu üzerine kontrol ve test edin.

Başka bir aracı 20 yapı yapılandırmaları için ücretsiz TeamCity hangi inşa için kullanabilirsiniz (Yeterli en küçük şirketler / projeler için.) Program kurar gibi siz de testleri çalıştırabilirsiniz Bu yol.