5

Geceleri bir Jenkins sunucusunda çalışıyoruz ve ClearCase'i Kaynak Denetim Yönetimi olarak kullanıyoruz.ClearCase ile Sürekli Entegrasyon mümkün mü?

ClearCase dosyası dosya merkezli olduğundan, dosyaları tek tek denetleyin. SVN veya Git'in (depo-merkezli) tersine, geliştiriciler tarafından yapılan değişiklikler, atomically olarak işlenmez.

Bu, gece boyunca sorun yaratmaz, çünkü geliştiriciler artık aktif değildir ve ClearCase sunucusunun 1 AM'de bir kilidi vardır. Böylece

10:55 AM - Developer1 checks in element1 
10:55 AM - Developer1 checks in element2 
10:56 AM - Developer1 checks in element3 
11:00 AM - ### Jenkins runs BUILD #1 ### <-- succeeds 
11:29 AM - Developer2 checks in element1 
11:29 AM - Developer2 checks in element2 
11:30 AM - ### Jenkins runs BUILD #2 ### <-- fails (element3 is missing) 
11:29 AM - Developer2 checks in element3 

, olan Release oluşturur (:

Ama burada (en her yarım saatte bir çalışacak yapýlar diyelim), geliştiricilerin gündüz aktif olan endişe nedeni ne olabilir bir örnektir ClearCase ile düşünmeye değer "asap oluşturur" veya kelimenin tam anlamıyla "Sürekli Entegrasyon") ya da her gece sonsuza kadar inşa ile kendimizi içerik kınandı mı?

cevap

3

, sen git/svn için köprü olabilir ve bir temel oluşturulduğunda yalnızca talep üzerine bir yapı tetikler.

Bu şekilde:

  • geliştirici kontrolleri sürekli bir yapı uygundur, ancak bir temel ekleyerek (ve gerekirse eskileri temizlik).
  • Jenkins, temel hatlarını tanıtabilir, bu da hangi yapının başarılı olduğunu veya başarısız olduğunu izlemeyi kolaylaştırır. için geliştirici kullanmak için

Hatta bir senaryoyu sağlayabilir:

  • otomatik
  • temel oluşturulması

    • tüm güncel kontrol aşımı dosyasında giriş That olur Geçerli kod tabanının ne zaman işlenecek kadar kararlı olduğuna karar verebildiğinden (ve test edildiğinden), kullanıcının sürekli entegrasyonunu tetiklemesine yardımcı olun.


      Hala taban ClearCase ile bu fikri kullanabilirsiniz

      : basitçe emin olun araçları kayması (tüm dosya üzerinde değişen etiket koymak: Bir dosya bu etikete sahip bir önceki sürümü varsa, etiket olurdu sadece geliştirici tarafından kontrol edilen LATEST sürümüne taşındı).

      Jenkins CC görünümünüz, söz konusu etiketle birlikte tüm dosyaları gösterecek şekilde yapılandırılacaktır; bu, söz konusu etiket yeni bir sürüme geçtiğinde, Jenkins tarafından yapılan cleartool lshistory değişecek ve bir yapının tetikleneceği anlamına gelir. (Not: siz cannot yet do it for a pattern of label)

    +0

    Cevabınız için teşekkürler. Bunu işaret etmeliydim; UCM kullanmıyoruz, sadece ClearCase'i kullanıyoruz. O zaman UCM kullanımı olmadan cevap ne olabilir? –

    +0

    @ StéphaneBruckert Cevabımı düzenledim: buradaki fikir, yalnızca yeni bir teslim edilen dosyada değil, bir etikete dayanarak yapıyı tetiklemektir. – VonC

    1

    Açık bir simge eklentisi var https://wiki.jenkins-ci.org/display/JENKINS/ClearCase+Plugin Uygulaması biraz karmaşık görünüyor ama son güncellemeleri var. Öte yandan

    Eğer KMB'ye kullanıyorsanız, ayrıca ClearCase UCM Plugin düşünebilirsiniz How to bridge git to ClearCase?

    +0

    Aslında, bu eklentiyi zaten kullanıyoruz. Bu eklentinin sadece geceleri faydalı olup olmadığını ve gün içinde işe yaramaz mı olduğunu merak ediyordum. –