SORU
27 EYLÜL 2011, Salı


Kullanmak İçin doğru Yolu Dev//GitHub - PHP Sistem/Üretim sunucuları Test Gıt

Ben bu açık veya kolay ise, git/github eğitimlerini iyi bir sayı baktı ve diğer makaleleri okudum özür dilerim, ama yaptığım şeyin doğru olduğundan emin olmak istiyorum.

Geliştirme ekibi ve sürecine VC (bilinen nedenlerle) dahil etmek istiyorum.

Mevcut geliştirme süreci (Dreamweaver kullanarak):
* Bir bilet (veya iş emri) kabul
* Geliştirme sunucuda dosya indirme
* Dosyaya değişiklikleri yapın
Upload geliştirme sunucuya geri dosya*
* Değişiklikleri onaylanmış/test edilmiş
* Üretim sunucusuna göndermek


Git kullanarak yeni bir geliştirme süreci yapmak için nasıl anlamaya çalışıyorum.

Üzerinde PHPStorm Gıt ile doğrudan entegrasyonu ile gerçek bir PHP IDE olan) geçiş yapıyorum.

Gibi bir şey olurdu

  • Bir bilet (veya iş emri) kabul
  • Çıkış/Güncelleme dosya(lar)/Download
  • Dosyaları Değiştirin
  • Dosya da geçerli çalışma dizini ülkesinde (...?) yükle
  • Günün sonunda, bir taahhüt yapmak
  • Script test sunucusu (gece) kurmak için veri göndermek yapı var

Ya da bunun gibi bir şey yapmak için daha iyi olurdu

  • Bir bilet (veya iş emri) kabul
  • Çıkış/Güncelleme dosya(lar)/Download
  • Dosyaları Değiştirin
  • Dosya yükleme/kaydetme
  • Script test sunucusu (gece) kurmak için veri göndermek yapı var

Yoksa başka bir yolu var mı? Sorun anlayış olması biraz optimal akışı ne olurdu?

Herhangi bir yardım büyük mutluluk duyacağız.


Edit

Eğer iyi sunucu yerel olarak (her geliştirici) sürümü var ise ve nasıl ise 7 veya dallar varsa işe yarıyor mu? bakalım çalışıyorum

Nasıl web ile 7 veya dallar ile anlaşma mıdır? Git onları otomatik güncelleme yapmak için Kanca dosyaları FTP veya kullanıyor musunuz?

Güncelleme 07/26/2012

Başarılı bir şekilde uzun süredir Gıt ile çalıştıktan sonra büyük bir başarı ile bu dallanma modelini takip ediyorum: A Successful Git Branching Model

Yukarıda cevabı kesinlikle sunucunun yerel bir sürümü olmalıdır Evet.

CEVAP
27 EYLÜL 2011, Salı


Canlı bir sunucu olduğunu varsayarsak ve bir gelişme bu doğrultuda bir şeyler yapmak istiyorum server.

Hatta bir geliştirme döngüsü başlamadan önce en az iki şube derdim:

  1. Usta - geliştirme sunucusu bu dal üzerinde çalışır
  2. Kararlı - canlı sunucu bu dal üzerinde çalışır.

Eğer bir geliştirici bir bilet ya da çalışma kararı alırsa aşağıdaki eylemleri gerçekleştirmek olacaktır:

  1. git kökeni usta çekin
  2. şube featureBranch (iş emri için iyi bir açıklama olarak bilet numarası veya ismi) git
  3. git checkout featureBranch
  4. İstediğiniz değişiklikleri gerçekleştirmek olacaktır değişiklikleri yapın. Sıklıkta Commit gereklidir. Değerli tarih oluşturur, çünkü bunu yapmak. Örneğin bir soruna bir yaklaşım deneyebilirsiniz ve eğer işe yaramaz ise, onu terk. Bir gün sonra ışık görürsün ve tekrar etmek istiyorsanız bu çözüm, geçmişinde!
  5. Özelliği tam gelişmiş ve yerel olarak test edildiğinde, ana çıkış.
  6. featureBranch birleştirme git
  7. git push origin master
  8. Geliştirme sunucusunda itti değişiklikleri Test. Bu aklınıza gelebilecek her testi zamanı geldi.
  9. Eğer çalışma dışarı değilse, istikrarlı bir dalı haline özellik veya düzeltme birleştirme. Şimdi değişim müşterileriniz için canlı.

Sunucuda kodu alıyorum

Sunucularının güncellenmesi bir sorun olmamalı. Temelde geliştiriciler aynı onlar gibisin kullanıcıları olarak kurmak istiyorum. Benim şirkette salt okunur kullanıcılar sunucu olarak kurulum yaptık. Temelde bu sunucular hiç bir şey itmek anlamına gelir ama her zaman çekebilir. Bu ayarlama sadece tek bir git Çek veren de basit bir web arayüzü inşa olabilir çok basit bir şey değil. Eğer canlı uygulamaları güvendesin:) bir şeyler yapmaktan geliştiricilere tutabilirsen

[DÜZENLE]

Son soru tepki bu: yorum sordu, yanıt olarak

Eğer sorunuzu doğru anladım mı bilmiyorum, ama temelde (biraz basitleştirilmiş) bu yaparım, senin yerinde olsaydım. Example setup

Test makinesi (ya da test gibi davranan # uygulama) kaynak kod ana şube ile git deposu merkezli kontrol edildi. Hayır bu depodaki yanlış bir şube checkout emin olacak böylece tüm diğer şubeleri için tüm diğer başvurular kaldırmak için bile bu depo oluştururken. Yani temelde test makinesi Ödünç alınmış olan tek bir ana şube ile Git deposu var.

Canlı sunucular için tam olarak aynı şeyi yapardım, ama istikrarlı şube ile bu kez kontrol edildi. Geliştirici tüm dalları mevcut yerel depo klonlanmış olmalıdır. Ve yazılımın yerel bir uygulama siz oluşturun. Bu yazılım yerel bir git deposundan kaynağını alır. Şu anda bu depo şube teslim. diğer bir deyişle:

Gerçek bir kod

Yeni bir özellik istendiğinde, yerel özellik, bir şube mevcut ana dayanarak yapılabilir. Şube teslim alındığında yapılan değişiklikler ve yerel geliştirici yazılım şimdi özellik şube kaynağı üzerinde çalışan bu yana) tarafından kontrol edilebilir.

Eğer her şey yolunda görünüyorsa, değişiklikleri ana özelliği şube birleşti ve sizin için itti "". "github" tabiri caizse. git makine Test her test gerekli QA tarafından yapılabilir böylece değişiklikleri çekebilir. Eğer her şey yolunda karar verirlerse, geliştirici istikrarlı ana değişiklikleri birleştirme ve yeniden itebilir.

O şimdi sol live makineleri form çekiyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • apenney888

    apenney888

    27 EKİM 2010
  • boburnham

    boburnham

    11 Temmuz 2006
  • Darren Kitchen

    Darren Kitch

    3 EKİM 2011