100+ boyutlu bir Jenkins işim var. Konsol çıktısında belirli bir dizgi olan yapıları bulmak için o işin tüm yapılarını aramam gerekiyor. Bunun için herhangi bir eklenti var mı? Bunu nasıl yaparım?Bir Jenkins işinin konsol çıkışından arama yapın
cevap
ben sadece kabuğunda yapacağını hiçbir ek gereksinimleri, örneğin varsa:
find $JENKINS_HOME/jobs/haystack -name log -exec grep -l needle {} \; \
| sed 's|.*/\(.*\)/log|\1|'
(hatalar, uyarılar günlüğüne ilgi hatları vurgulayarak Log Parser Plugin
üzerinde hata ve uyarıların bir özetini gösteren günlüğüneyoktur, log ve bölümlerinde hatalar, uyarılar ve bilgi hatlarının sayısının bir özetini gösteren bölüme günlüğü bölünmesi bilgileri)
.
kolay inşa sayfa
ilgi bir çizgi bulmak için yapım tam günlüğüne bağlamında içine hataları ve uyarıları bağlama özeti
Eski günlüklerse, o zaman Linux'da olduğunuzu varsayarak Jil'in cevabı vardır.
Linux almanıza gerek yok. Sadece _bash_, _find_, _grep_ ve _sed_. Windows'a kolayca yüklenebilir (ör. Cygwin veya mingw'den) ve şansınız onlara sahip olduğunuzdan, yani Git'i kullanıyorsanız. – jil
Sık sık bu gibi görevler için Jenkins Script Console kullanın. Groovy plugin Komut Dosyası Konsolu'nu sağlar, ancak periyodik bakım için Komut Dosyası Konsolu'nu kullanacaksanız, çalıştırdığınız komut dosyalarını yönetmenizi sağlayan Scriptler plugin da istersiniz. Değerli çözümler için
JOB_NAME = "My Job"
BUILD_STRING = "Hello, world"
def job = Jenkins.instance.items.find { it.name == JOB_NAME }
for (build in job.builds) {
def log = build.log
if (log.contains(BUILD_STRING)) {
println "${job.name}: ${build.id}"
}
}
FWIW, tüm işler arasında arama yapmak için, "def job = Jenkins.instance.items.find {true}" –
Bu, CI kurulumumuzda çalışmaz. Şu anda çalışan işlerin konsol kayıtları için mi, hatta tamamlanmış işler için mi arama yapılacağını doğrulayabilir misiniz? Hem çalışan hem de tamamlanmış (başarısız/dengesiz/başarılı) tüm işleri nasıl arayabilirim? – askb
@dave bacher I get: groovy.lang.MissingPropertyException: Böyle bir özellik: sınıf için oluşturur: java.lang.Boolean Herhangi bir fikir? – DenCowboy
Teşekkür herkesi: - itibaren
Jenkins Yönet>Senaryo Konsol, sen işi en dolaşır eşleştirme dizesi arayan yapýlar gelenekselleşmiş bir senaryo yazabilir. Biraz fazla araştırma yaptıktan sonra bunu yapmak için Jenkins'de bir eklenti olduğunu gördüm.
https://wiki.jenkins-ci.org/display/JENKINS/Lucene-Search
Bu
konsol çıkış sonuçlarını kaydetmek ve kullanıcılar arama kutusuna arama yapabilirsiniz. Bu ince cevabı iken benim geliştiricilerinden biri erişim için bizim Jenkins sunucu sordum onlar iş dizinleri karşı kabuk komutlarını çalıştırabilir böylece
, ben çok korkuyorum olurdu. :) –
Bir Jenkins mesaji yaratabilirsiniz, daha sonra bu konuda bir endişe duyuyorsaniz, bunu bir kabuk basamağinda çalistirebilirsiniz. Ve kendi cevabınıza bakarak, konsolda Groovy komut dosyalarını çalıştırmanın kabuk erişimini vermekten daha güvenli olduğunu düşünmüyorum :) – jil