Jenkins Spring Boot Pipeline CI

Deniz TÜRKMEN
4 min readOct 20, 2022

--

Jenkinsfile & Maven & Github WebHook

Merhabalar,

Bu yazımda, Jenkins ile spring boot uygulamamıza Jenkinsfile pipeline inceliycez.

Maven: Maven, POM(Project Object Model)’a dayanan güçlü bir proje yönetim aracıdır. Proje oluşturma, bağımlılık ve dokümantasyon için kullanılır. Maven için Java tabanlı projeyi oluşturmak ve yönetmek için kullanılabilecek bir araçtır.

-> Build(default): Build yaşam döngüsünü ifade eder.

  • validate: Projenin doğruluğunu ve gerekli bilgilerin mümkünlüğünü kontrol eder.
  • compile: Kaynak kodu derler.
  • test: Derlenmiş koda uygun bir unit test ile test eder.
  • package: Derlenmiş kodu paketler.
  • verify: Entegrasyon teslerinin sonuçlarını kontrol ederek kalite kriterine ulaşıldığından emin olur.
  • install: Diğer projelerde dependency olarak kullanmak için paketleri local depoya yükler.
  • deploy: Final paketi uzak depoya yükler.

-> Clean: build işlemi sonucundan üretilenleri siler

  • pre-clean: Temizlik öncesi gerekli olan prosesleri çalıştırır
  • clean: Önceki build işlemi sonucu oluşan dosyaları siler
  • post-clean: Temizlik işlemini bitirmek için gerekli olan prosesleri çalıştırır

Spring projemize kodlarına bakalım.

Model.java
Repository.java
Controller.java
pom.xml

Uygulamamızı çalıştıralım ve tarayıcıdan “localhost:8082/swagger-ui.html” adresine gittiğimizde,

Şimdi de jenkins ile pipeline’ımızı yazalım. Projeye github repository gönderelim.

github

Şimdide jenkinsfile yazalım ve jenkins açalım.

Jenkins -> Dashboard -> New Item -> Item Name -> Pipeline -> Ok

General -> Github project

Pipeline -> Definition -> Pipeline Script from SCM ->SCM ->git -> Apply -> Save

Dashboard -> Build now

Console output

“docker images”

Şimdi de jenkinsfile güncellediğimizde tetiklenecek olan github-webhook aktifleştirelim. Bunun için ilk olarak local de çalıştığımız port yönlemdirme yapmalıyız.

ilgili işletim sistemine göre yukarıdaki linkten indirme işlemi yapabilirsiniz. İndirdiğiniz folder giderek terminalden giden daha sonra login olarak ilgili komutları uygulayarak yönlendirme yapabilirsiniz.

“Ngrok” ile port u yönlendirdikten sonra,

http ile başlayan yeri kopyaladıktan sonra jenkins geçiyoruz.

Dashboard -> Manage Jenkins -> Configure System -> Jenkins Location -> Jenkins Url yazan yere kopyaladığımız yönlendirilmiş port yazıyoruz ve apply diyip uyguluyoruz.

Kontrol için, github sağ yanındaki soru işareti tıklayarak,

İlgili adresi aldığını görmekteyiz. Şimdide github geçerek yapılandırmamızı tamamlayalım.

Github -> Projenin olduğu repository -> Settings -> Webhook -> Add Webhook

Add webhook

Görüldüğü gibi aktifleşti. Şimdi de jenkinsfile basit bir echo komutu ile otomatik pipeline başlamasını tetikleyelim. “github” commit ve push işleminden sonra,

otomatik olarak tetiklendiğini görmekteyiz.

--

--

Deniz TÜRKMEN
Deniz TÜRKMEN

No responses yet