Jenkins ile bilgilendirme e-postası nasıl gönderilir?

Jenkins, herhangi bir projeyi oluşturmayı, dağıtmayı ve otomatikleştirmeyi destekleyen bir CICD aracıdır. Projeyi oluşturduk, dağıtımını da gerçekleştirip otomatize ettik peki sürecin herhangi bir yerinde hata alınması durumunda veya önemli bir işin tamamlanması sonucunda anında nasıl haberdar olabiliriz? Jenkins’in bu durum için farklı çözüm önerileri var. Temel ve genişletilmiş e-posta(extended email), Slack ve HipChat Jenkins’in bildirim gönderemek için önerdiği yöntemlerden bazılarıdır. Bu yazıda Jenkins ile e-posta bilgilendirmesinin nasıl yapıldığına bakacağız.

Jenkins ile e-posta göndermek için iki yöntem bulunmakta. 

  1. Temel E-posta Bildirimi, Mailer eklentisindendir ve temel bir e-posta göndermeye izin verir. Varsayılan olarak gelir.
  2. Genişletilmiş E-posta (Extended E-mail) Bildirimi , Email-ext eklentisindendir. Daha fazla özelleştirmeye izin verir : “Bir e-posta gönderildiğinde, onu kimin alması gerektiği ve e-postanın ne söylediği “. Bu eklenti ayrıca varsayılan genel parametrelerin (örn. alıcı listesi) ayarlanmasına izin verir, böylece bu parametreleri her bir projede yeniden tanımlanması gerekmez.

Temel E-posta Bildirimi Yapılandırması

Temel e-posta yapılandırmasını yapmak için Manage Jenkins >  Configure System >  E-mail Notification adımlarını izleyerek konfigürasyon arayüzüne gidiyoruz.

E-posta sunucusu olarak gmail’i kullanacağız. 

  • SMTP Server: smtp.gmail.com 
  • Default user e-mail suffix: @gmail.com
Şekil-1: SMTP Server Konfigürasyonu
  • Daha sonra Advanced butonuna tıklayarak Use SMTP Authentication alanları dolduralım.
  • User Name: <e-posta adresi>
  • Password: <e-posta şifresi>
  • Gmail kullandığımız için ‘Use SSL’ kısmını işaretliyoruz.
  • SMTP Port: 465
Şekil-2: SMTP Server Yetkilendirme Konfigürasyonu

Not: Google 2 Adımlı Doğrulamanız açık ise Google ayarlar kısmından Jenkins için özel şifre oluşturabilirsiniz. Şifre oluşturmak için Google Hesap > Güvenlik > Google’da oturum açma > Uygulama şifreleri adımlarını izleyerek şifre oluşturma arayüzüne gidiyoruz.

Şekil-3: Google Uygulama Şifresi Oluşturma

Uygulama Seçin kısmında diğeri seçip yeni bir isim yazıp oluştur butonuna tıklıyoruz. karşımıza aşağıdaki şekilde bir ekran çıkıyor. Kırmız olan kısımda Jenkins için oluşturulan şifre yer almakta bu şifreyi kullanarak Jenkins ile gmail bağlantısını sağlayabiliriz.

Şekil-4: Google Uygulama Şifresi

 

Temel e-posta bildirimi için yapılandırma ayarlarını tamamladık. ‘Test configuration by sending test e-mail’ kısmında test maili gönderip ayarlamaların doğru olup olmadığını kontrol edelim.

Şekil-5: E-posta Alıcı Listesi

Genişletilmiş e-posta (Extended E-mail)

Bu yöntemi kullanabilmek için plugin yüklememiz gerekiyor. Manage Jenkins > Plugin Manager > Available plugins adımlarını izleyerek plugin indirme arayüzüne gidiyoruz. Email Extension isimli plugin’i indiriyoruz.

Şekil-6: Email Extension Plugin

Plugin indirdikten sonra Jenkins’i yeniden başlatmamız gerekiyor. Yeniden başlatma işleminden sonra konfigürasyona başlayabiliriz. Manage Jenkins >  Configure System > Extended E-mail Notification adımlarını izleyerek yapılandırma arayüzüne gidelim.

  • SMTP Server: smtp.gmail.com 
  • SMTP Port: 465 
  • Gmail kullandığımız için ‘Use SSL’ kısmını işaretliyoruz.
    Şekil-7: Extended E-Posta SMTP Server Konfigürasyonu

     

  • Credential seçiyoruz. Yoksa Add butonunu tıklayarak ekleyebiliriz. User with password seçeneğini seçip e-posta ve şifre bilgilerini kayıt ediyoruz. ID ve info kısmına herhangi bir şey yazabiliriz. Not: ID kısmındaki değer daha önce oluşturulan credential’larda kullanılmamış olmalı.
Şekil-8: Credential Oluşturma
Şekil-9: Pipeline Oluşturma

Şimdi pipeline içerisinde her iki yöntemi de kullanarak e-posta gönderelim.

pipeline {
    agent any
    stages {
        stage('Hello') {
            steps {
                echo "Hello world"
                    }
            }
        }
    post{
        always{
            
        }
    }
}

Post metotunun içerisindeki alwasy bloğuna aşağıdaki kod parçalarını ekleyerek e-posta gönderebiliriz.

Temel e-posta bildirimi ile bildirim göndermek için:

mail bcc: '', body: 'Basic email notification test.', cc: '', from: '', replyTo: '', subject: 'Test Mail', to: 's.kayademir@gmail.com'
Şekil-10: Temel E-posta Bildirimi Örneği

Genişletilmiş e-posta (Extended E-mail) plugini ile email göndermek için:

emailext body: 'Extended E-mail plugin notification test.', subject: 'Test', to: 's.kayademir@gmail.com'
Şekil-11: Genişletilmiş E-posta (Extended E-mail) Bildirimi Örneği

 

Bu yazıda Jenkisn ile e-posta bildiriminin nasıl gönderildiğini ele aldık. Yeniden görüşmek üzere.

Kapak: Photo by Paula Hayes on Unsplash

Kaynaklar:

Yazar Hakkında
Toplam 1 yazı
Seda KAYADEMİR
Seda KAYADEMİR
Yorumlar (Yorum yapılmamış)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara