Jenkins Parametreli Tetikleyici + Kopyalama Artefaktı


9

Jenkins sürüm sürümlerimizi idare edecek şekilde kurmaya çalışıyorum. Bir sürüm derlemesi, Linux üzerine kurulması gereken bazı ikili dosyaları içeren bir Windows yükleyicisinden oluşur.

Şimdiye kadar sahip olduğum şey:

  • Windows ve Linux bölümleri ayrı Jenkins projeleri olarak oluşturulmuştur.
  • Windows projesi, oluşturulacak ve yayınlanacak Subversion etiketini alarak parametrelendirilir.
  • Yapısının bir parçası olarak, Windows projesi, Linux projesi için aynı Parametre etiketinin bir yapısını ( Parametreli Tetikleyici eklentisini kullanarak ) tetikler ve ardından eserleri Linux projesinden ( Kopyalama Artefakt eklentisini kullanarak ) Windows projesinin çalışma alanına kopyalar. Windows yükleyicisine dahil edilebilirler.

Sıkıştığım yer: Şu anda, Kopyalama Yapısı son başarılı yapıyı kopyalamak için ayarlandı. Kopyalama Artefaktını, Parametreli Tetikleyicinin tetiklediği tam yapıdan kopyalanacak şekilde yapılandırmak daha sağlam görünüyor, ancak bu çalışmayı nasıl yapacağımı bulmakta sorun yaşıyorum. Sanırım bu konuda yardımcı olmayı düşündüğüm bir "yapı seçici" parametresi için bir seçenek var, ancak bunun nasıl kurulacağını anlayamıyorum (ve yapı bir saat sürdüğünde farklı olasılıklarla körü körüne denemek biraz acı verici. veya ikisini başarı veya başarısızlık bulmak için).

Bunu nasıl ayarlamalıyım? Yapı seçici nasıl çalışır?

Yanıtlar:


11

Tetiklenen bir yapıyı tamamladıktan sonra, TRIGGERED_BUILD_NUMBER_ <iş adı> adlı tetiklenen yapının yapı numarasına ayarlanmış yeni bir env değişkeniniz olacak. Artefaktları özel olarak geri kopyalamak için bunu kullanabilirsiniz:

  1. Windows derlemesi (" WindowsBuild " olarak adlandırılır ), Parameterized Trigger eklentisini kullanarak Linux derlemesini (" LinuxBuild " olarak adlandırılır) çağırır .

    Bu bölüme sahipsiniz, sadece tetiklenen projeler yapılarını bitirene kadar Bloğu kontrol ettiğinizden emin olun ve Linux derlemesi başarısız olursa tabii ki derlemede başarısız olun.

  2. Başka bir proje adımındaki Kopyalama Eserlerinizde sonraki :

    Proje adı: LinuxBuild

    Hangi yapı: Özel yapı

    Derleme numarası: $ TRIGGERED_BUILD_NUMBER_LinuxBuild (Tüm Proje adlarında _ yerine a-zA-Z veya 0-9 olmayan karakterler bulunur; birden çok karakter tek bir _ olarak yoğunlaştırılır).


"$ TRIGGERED_BUILD_NUMBER_ <downstreamjob>" ortam değişkeni manuel olarak ayarlanmalı mı? Bunu yukarı veya aşağı çevre değişkenlerinde bulamıyorum.
harish

1
Eklenti wiki'sinde, "Tetiklenen projeler yapılarını bitirene kadar engelle" işaretlenirse, $ TRIGGERED_BUILD_NUMBER_ <downstreamjob> öğesinin otomatik olarak ayarlandığı bulundu.
harish
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.