2013-05-22 11 views
9

Bu sorunu gidermek için çalışıyor ve başarılı olamadı, vb forumlar arama ve kendim için çalışıyordu. nasıl sadece bir sürümde Jenkins bir e-posta göndermek için?

Biz Jenkins iş var ve orada biz o zaman işin içinde

release plugin config

(standart yapılandırma ile) Yayın Eklentisi kullanmak Elimizdeki sol tarafında "gerçekleştirin Maven Yayın" Bir versiyon oluşturmak (etiket, değişim pompaları, vb.) Bu mükemmel çalışır.

Release button on the left side

Biz bırakma işlem tamamlandığında ekibine bir e-posta göndermek istiyorum.

salıvermenin setleri (varsayılan olarak IS_M2RELEASEBUILD) eklentisi ve gelenekselleşmiş bir senaryo ekleyebilirsiniz eposta-ext eklentisi eklentisi ( ileri => tetiği => komut tetik)

ile birleştirmek olduğunu çevre değişkeni çalıştı

trigger with the email ext plugin

ve aktif e-posta komut bir çok çalıştı ve hiçbiri son şansımdı, çalışır:

def env = System.getenv() 
env['IS_M2RELEASEBUILD'] == 'true' 

ama salınımını biz gerçekleştirdiğinizde e-posta gönderildi (yani bu komut false koşullu ya da her türlü değerlendirmek)

Herkes onun Jenkins bu düzeni var değil mi?

Çok teşekkürler!

cevap

2

https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

Bu eklenti e-posta bildirimlerine her yönüyle yapılandırmak için izin verir. Bir e-posta gönderildiğinde, kimin alması gerektiğini ve e-postanın ne söylediğini özelleştirebilirsiniz.

+0

Teşekkürler. Bu eklentiyi kullanıyorum ve e-postayı "ateşlemek" için yazdığım mükemmel kodu kullanıyorum. Sorun, serbest bırakma eylemiyle bağlantı kurmak için e-posta ek eklentisinin tam kodunu bilmem. –

2

Bu bir yanıt, sadece bir öneri (I yorum eklemek olamaz) değildir. Bir post-build ve pre-build adımında bu çevre değişkenini yankılamayı denediniz mi?

1

Sürüm oluşturma işlemi başarıyla tamamlandığında ve bu işi e-postayı gönderdiğinde başka bir derleme çalıştırmayı denediniz mi, belki de bir kabuk komut dosyası çalıştırarak.

6

Sen "Proje Alıcı Listesi"-posta E (ler) "Post-build Eylem" olarak "Düzenlenebilir E-posta Bildirimi" kullanmak ve Ön göndermek Komut, sizin doldurmak olarak

def env = build.getEnvironment(); 
String isRelease = env['IS_M2RELEASEBUILD']; 
logger.println "IS_M2RELEASEBUILD="+isRelease; 
if (isRelease == null || isRelease.equals('false')) { 
    logger.println "cancel=true;"; 
    cancel=true; 
} 

yapıştırmak gerekir ve bir "Başarı" -Trigger ekleyin. (önkoşul, "Maven release build" içindeki varsayılan "Release envrionment variable" değerini değiştirmediniz)

+0

Ve ... EVET! İşe yarıyor! 1 Ben başarısız neden komut ve kurulumları bir çok bilmiyorum çalıştı, ama aslında şu anda komut çalışıyor. –