Jenkins Spring Boot Pipeline CI
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.
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.
Ş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.
Bu yazımızın da sonuna gelmiş bulunmaktayız. Araştırmalarım ve sektörde karşılaştığım senaryolar üzerine yazılarımı yazmaya devam edeceğim. Umarım faydalı bir yazı olmuştur.