maven with jenkins maven documentation
Bu eğitimde Jenkins ve Maven'in Jenkins ile Entegrasyonu hakkında her şeyi açıklayacağız. Ayrıca Maven'i kullanarak Proje için Dokümantasyon Oluşturmayı da öğreneceksiniz:
Jenkins nedir, Maven Jenkins Entegrasyonu, Jenkins'in avantajları, Jenkins'te Java ve Maven nasıl kurulur, farklı parametrelerle Jenkins işi nasıl oluşturulur, TestNG eklentileri ile Jenkins yürütme sonuç raporları, Maven nasıl geçilir öğreneceğiz. Jenkins'te Hedefler şeklinde komutlar, projeler için Maven dokümantasyonu vb. ayrıntılı olarak.
=> Simple Maven Training Serisine Buradan Dikkat Edin.
fonksiyonları kullanan c ++ program örnekleri
Ne öğreneceksin:
Jenkins nedir?
Jenkins, yazılım test etme ve geliştirme dünyasında büyük öneme sahip sürekli bir entegrasyon aracıdır. Açık kaynaklıdır ve platformdan bağımsızdır. Günlük çalışmalarımızda, yüzlerce test durumundan oluşan otomasyon çerçeveleriyle ilgileniyoruz.
Şimdiye kadar, komut dosyalarımızı Maven projesinden yürütmek için, Maven komutlarını komut isteminden çalıştırmamız veya Eclipse'i doğrudan açıp komut dosyalarını tetiklememiz gerektiğini gördük.
Bu nedenle, yürütme için test senaryolarını manuel olarak tetikliyoruz. Bu süreci otomatikleştirmek için, test senaryolarımızı belirli bir zamanda çalıştıracak işleri planlamamız ve ayrıca bazı önemli parametrelerle ilgilenmemiz gerekir. Tüm bu süreç, Jenkins'in yardımıyla otomatikleştirilmiştir.
Dolayısıyla gerçekte sabah üçte yapılması gereken yaklaşık 800 test vakamız varsa, Jenkin işlerinin yardımıyla herhangi bir manuel müdahaleye gerek kalmadan kolayca yapılabilir.
Ayrıca, ortamda geliştirme tarafından bazı kod kontrolü yapıldıktan sonra otomatik Duman veya Sanity test durumlarının yürütülmesi gereken senaryolar vardır. Bütün bunlar Jenkins tarafından otomatik olarak halledilir.
Jenkins, SVN veya Git gibi depolarda yapılan tüm değişikliklerin günlüğüne sahiptir. Jenkins, sistemimize kolayca kurulabilir ve yapılandırılabilir. Ayrıca, derlemelerin dağıtılmış bir şekilde tetiklenmesi gerekiyorsa, birden fazla sanal makinede kurulabilir. Dahası, tüm yeni yapılara bağlantılar aracılığıyla erişim sağlar.
Jenkins, eklentilerin yardımıyla TestNG ile entegrasyon, yapı durumu hakkında e-posta bildirimleri gibi özelliklere sahiptir ve bu da günümüzde kullanımını daha popüler hale getirir. Sorunlar ve hatalar çok erken yakalanır ve çözülür.
Entegrasyon görevlerinin çoğu otomatik olarak gerçekleştirilir, böylece kaynaklardan tasarruf edilir ve yazılımın herhangi bir zamanda sorunsuz bir şekilde piyasaya sürülmesini sağlar.
Çevik ortamda, birlikte çalışan iş analistlerimiz, geliştiricilerimiz ve testçilerimiz var. Sonuç olarak, bir iş analistinin (teknik olmayan bir kişinin) yürütme sonucunun nasıl olduğunu görmesi ve izlemesi gerekebileceği bir durum olabilir.
Bu gibi durumlarda, komut dosyalarını tetiklemek için Eclipse'i açması veya Maven komutları kurması ve çalıştırması gerekmeyebilir. Jenkins yardımıyla test senaryolarını yürütebilir ve yürütme sonuçlarını alabilir.
Job adı ile Jenkins ana sayfasındayız. Proje . Bir işletme yürütmenin sonuçlarını görmek istiyorsa, iş adına tıklanmalı ve aşağıdaki sayfaya yönlendirilecektir.
Sonra Şimdi İnşa Edin ekranın solundaki tıklanması gerekiyor. Bu yüzden sadece Jenkins URL'sini açmamız gerekiyor (https: // localhost: 8080 / jenkins).
Test durumları Jenkins aracılığıyla tetiklenirken, test durumlarının yürütüldüğü yalnızca Jenkins'te sağlanan özel ortamdır. Test durumlarımızı Jenkins dışında yürütüyorsak, araçlarımızın veya dilimizin sürümü veya çalışması gereken bir şeye uyumlu olmayan kavanozlar nedeniyle başarısız olmaları yaygın bir senaryodur.
Örneğin, Java sürümü veya Maven sürümümüz güncellendi veya indirildi. Yürütmemiz için Jenkin’in işlerini kullanıyorsak tüm bunlardan kaçınılabilir.
Bu nedenle Jenkins, tüm coğrafi konumlarda merkezi bir kurulum sürdürerek test çerçevemize büyük katkılarda bulunur.
Jenkins'in Avantajları
Jenkins'in avantajları aşağıda listelenmiştir:
- Jenkins, açık kaynaklı, platformdan bağımsız ve taşınabilirdir.
- Kolayca kurulabilir ve yapılandırılabilir. Kolaylıkla kullanılabilir.
- Jenkins, entegrasyon öğelerini otomatikleştirdi ve pek çok entegrasyon sorunu oluşmaz, böylece geliştiricilerin verimliliği ve üretkenliği artar.
- Dokümantasyonu iyi tanımlanmıştır ve öğrenmeyi kolaylaştırır.
- Jenkins, geliştiricilerin işte gerçekten ihtiyaç duydukları özellikler göz önünde bulundurularak geliştiriciler tarafından geliştirilmiştir.
- Çok sayıda eklentisi var. Tüm bu eklentiler, Jenkins'i geliştiriciler arasında daha güçlü ve popüler hale getiriyor.
- Jenkins, bulutta barındırılan ortamlara yardımcı olur.
- Kolayca erişilebilen büyük bir kullanıcı topluluğuna sahiptir. Geri bildirimler üzerinde çalışırlar ve düzenli olarak temas kurarlar.
- Jenkins, aşağıdaki şekillerde otomasyonu test etmek için yardım sağlar:
- Test yürütme planlamasının özelliği: Test uzmanları, test senaryolarını yürütme için planlayabilir ve zamanlarını diğer görevler için kullanabilir.
- Özelleştirilmiş Test Sonuçları Raporu: Jenkins, sonuçların modeli hakkında ayrıntılar verir. Yürütme sonuçlarının grafiksel gösterimleri ve ayrıntıları, toplam test senaryosu sayısını, yürütme zamanlamalarını ve diğer önemli bilgileri yansıtır.
- Sürekli entegrasyon süreçleriyle düzgün çalışır: Jenkins ile test süresi kısalır.
Jenkins'te Java ve Maven Yolu Seti
Öncelikle makinelerimizde Java ve Maven'in kurulu olması gerekiyor. Jenkins'in açılış sayfasına geldiğimizde, başlangıçta iş olmayacak.
Şimdi tıklayın Jenkins'i yönetin ekranın solundaki bağlantı.
Sonra tıklayın Global Araç Yapılandırmaları . Burada Java ve Maven için konfigürasyonları yapmalıyız. Java kurulumu için, JDK Kurulumları buton.
Burada ya vermeliyiz İsim ve JAVA_HOME yol veya bu kontrol edilerek halledilebilir Otomatik olarak yükle onay kutusu.
Ardından, Maven bölümüne gitmemiz ve Maven Kurulumları buton.
Burada ya vermeliyiz İsim ve MAVEN_HOME yol veya bu, kontrol edilerek halledilebilir Otomatik olarak yükle onay kutusu.
Bu işlemleri yaptıktan sonra, tıklayın Kayıt etmek sayfanın sonunda.
Bir Jenkins İşi Oluşturun
Ardından, Maven projemizin betiklerini tetiklemek için bir iş oluşturmamız gerekiyor. Tıkla Yeni öğe ekranın solundaki bağlantı.
Bir Öğe adı ve seçin Serbest stil projesi seçeneğini ve ardından Tamam'ı tıklayın.
İş yapılandırma sayfasına gideceğiz. Burada projemize özgü tüm bilgileri sağlamamız gerekiyor. Öncelikle proje kodumuzun kaynağını vermemiz gerekiyor.
Jenkins Kaynak Kodu Yönetimi
İçinde Kaynak Kod Yönetimi bölümünde, genellikle aşağıdakilerden birini seçeriz: GitHub veya Yıkım ve ilgili bağlantıları sağlayın. Jenkins kodu oradan otomatik olarak alacak.
Ancak, kodumuz yerel sistemimizde mevcutsa, ileri altındaki düğme genel Bölüm , ve sonra kontrol et Özel çalışma alanı kullanın .
Maven projemizi .jenkins klasörüne girin ve Maven projesinin içinde bulunan pom dosyasının yolunu verin. $ {JENKINS_HOME}.
Bu şekilde, Jenkins proje kaynak kodunu elde eder.
Jenkins, yalnızca test yürütmeyi tetiklemek için test uzmanları tarafından kullanılmaz, aynı zamanda geliştiriciler tarafından çalışmaları için yoğun bir şekilde kullanılır. Bu seçeneklerden bazıları, Çevre Oluşturun Bölüm.
Ardından, Build bölümüne geçip seçmemiz gerekiyor Üst düzey Maven hedefini çağırın açılır menüden seçenekler.
Sonra Üst düzey Maven hedeflerini çağırın bölümü genişletilecek. Buraya Maven Sürümü içinde tanımladığımız Maven sürümünden önceden doldurulacaktır. Global Araç Yapılandırması .
Hedefler altında, yürütmeyi tetiklemek için Maven komutunu sağlamalıyız. mvn testi –PRegresyon. Jenkins'te, mvn terimini atlayabiliriz ve komutun geri kalanı yeterlidir.
Tıklamak Kayıt etmek ve başarıyla bir iş yarattık.
Şimdiye kadar tartıştıklarımızın bir özeti:
- Kodumuzun konumu (Git, Subversions veya yerel bir dizinden).
- Yürütmeyi tetiklemek için Maven komutu.
İşimiz oluşturulacak ve Jenkins açılış sayfasında görünecek:
Tıkla Şimdi İnşa Edin ekranın solundan. Bir olacak Derleme Geçmişi yapı tamamlandıktan sonra ekranın solundaki bölüm görünür. yapı numarası gözle görülür şekilde takip edilecek # ile birlikte zaman damgası . Şimdi şuraya gidin: Konsol Çıkışı .
İnfazın sonuçları:
Yürütme Sonuçları Raporu İçin TestNG Jenkins Entegrasyonu
Test yürütme sonucu ayrıntıları için Eclipse'deki Maven projesine gidin, hedef klasörden sonra surefire-raporları Klasör. Bir index.html surefire-raporları içindeki dosya. Dosyanın konumunu öğrenin ve tarayıcıda açın.
testng-results.xml dosya ve TestNG raporları eklentisi, Jenkins'teki sonuçlar için gereklidir.
Tıklamak Jenkins'i yönetin Jenkins ekranının solundaki bağlantı. Sonra tıklayın Eklentileri Yönet bağlantı.
world of warcraft için özel sunucu
Yükle TestNG Sonuçları Eklentisi .
Tamamlandığında, oluşturduğumuz işi Yapılandır ekranın solundaki bağlantı. Ardından şuraya gidin: Derleme Sonrası İşlemler bölüm ve seçin TestNG Sonuçlarını Yayınla açılır menüden.
testng-results.xml Maven Projemizdeki dosya otomatik olarak TestNG XML rapor kalıbı varsayılan olarak alan. Ardından Kaydet'e tıklayın.
Jenkins'te İş Planlama
Şuraya gidin: Tetikleyiciler Oluşturun derleme zamanlamalarını planlamak için bölüm.
Biz seçersek Periyodik olarak oluşturun o zaman bizde Program bölüm görünür. İşi aşağıda gösterildiği gibi planlamak için burada beş parametreden bahsetmeliyiz.
- MINUTES bir saat içinde
- Bir günde HOURS
- Bir ayda DAYMONTH gün
- Bir yılda MONTH
- DAYWEEK haftanın günü
Komut dosyalarını sabah 08: 00'da planlamak için aşağıda gösterildiği gibi belirtmemiz gerekir:
Şimdi, TestNG sonuçlarını doğrulamak için yapıyı tekrar tetikleyeceğiz. Jenkins'in açılış sayfasına gidin ve işe tıklayın. Şimdi sahip olacağız TestNG Sonuçları iş ekranımızın içindeki bağlantı.
Yürütmede herhangi bir aksaklık yoksa, En Son Test Sonucu bağlantı herhangi bir hata göstermeyecek. Sonuçlar hakkında daha fazla ayrıntı almak için TestNG Sonuçları bağlantısına tıklayın.
Tıklayabiliriz inşa etmek # sonuçlar hakkında daha fazla ayrıntı için numara.
Kodumuzu kontrol etmek için, Çalışma alanı ekranın solundaki bağlantı. Bu şekilde Jenkins ve Maven birlikte çalışabilir.
Proje İçin Maven Belgeleri
Maven yardımı ile projemiz için dokümantasyon oluşturabiliriz. Daha önce tartışıldığı gibi, Maven üç yaşam döngüsünden oluşur, yani temiz, site ve varsayılan.
Herhangi bir hatayı kaldırma ve önceki yapının yapılarını kaldırma görevi, temiz döngü. İken varsayılan toplam dağıtım sürecinden sorumludur, site yaşam döngüsü, proje belgelerini oluşturmak içindir.
Güncel bir dokümantasyona sahip olmak için siteden önce temizlik yapmak iyi bir uygulama olarak kabul edilir.
Proje klasörüne gidin ve komut isteminden aşağıdaki komutu çalıştırın.
mvn site
Projeyi inşa etme süreci başlayacak. Yapının başarılı olmasından sonra, proje dokümantasyonu aşağıda gösterildiği gibi oluşturulacaktır.
İndex.html dosyasını tıkladığınızda, proje hakkında temel olarak inşa ve proje bilgileri, proje hakkında, sürekli entegrasyon, bağımlılıklar, posta listesi, lisanslar vb. İçeren projenin ayrıntılı dokümantasyonuna sahip olabiliriz.
SSS Bölümü
S # 1) Jenkins, Maven ile nasıl çalışır?
Cevap: Jenkins, belirli ön koşulları izleyerek Maven ile iyi çalışır. Jenkins'te Java ve Maven yollarını kurmamız gerekiyor. Ardından, Derleme Sonrası Eylemler, derlemeleri zamanlama vb. Dahil tüm parametrelerle Jenkins işleri oluşturmamız gerekir.
S # 2) Maven ve Jenkins nedir?
Cevap: Maven, Java'da geliştirilmiş bir proje yönetimi ve derleme aracıdır. Jenkins, açık kaynak kodlu sürekli bir entegrasyon aracıdır. Hem Maven hem de Jenkins günümüzde endüstride yaygın olarak kullanılmaktadır.
S # 3) Jenkins'teki Maven hedefi nedir?
Cevap: Maven komutlarını Jenkins'in Hedefler bölümünde sağlıyoruz. Bu, bir Jenkins işi oluştururken önemli bir adımdır.
S # 4) Neden Maven kullanıyoruz?
Cevap: Maven, bir pom.xml dosyasıyla yönetilen bir proje yönetimi ve derleme aracıdır. Oluşturma sürecini basit, kolay ve tutarlı hale getirdi.
S # 5) Maven bir CI Aracı mı?
Cevap: Hayır, Maven sürekli bir Entegrasyon aracı değildir. Ant'tan daha fazla özelliğe sahip bir inşa aracıdır. Jenkins, sürekli bir entegrasyon aracıdır.
S # 6) Maven'de pom xml nedir?
Cevap: Proje Nesne Modeli veya pom, Maven'in çekirdeğini oluşturan bir xml dosyasıdır. Proje bağımlılıklarının, konfigürasyonların, profillerin vb. Listesini içerir.
S # 7) TestNG ve Jenkins'i Maven ile entegre edebilir miyiz?
Cevap: Evet, TestNG ve Jenkins'i Maven ile entegre edebiliriz. Tüm bunlar eklentiler yardımıyla elde edilir.
en iyi e-posta hesabı nedir
S # 8) Maven yaşam döngüsünün üç yapısı nedir?
Cevap: Maven döngüsünün üç standart yapısı aşağıda listelenmiştir.
- Varsayılan
- Temiz
- Site
S # 9) Jenkins ayarları XML'i nasıl ayarlanır?
Cevap: Jenkins'te, işin Oluştur bölümüne gidin ve ardından İleri. Ayarlar Dosyası seçeneği orada görünür olacak. Settings.xml dosyasının konumu burada belirtilecektir.
S # 10) Jenkins'te çevresel değişkenleri nasıl ayarlarım?
Cevap: Jenkins'teki çevresel değişkenler, Yapılandır ekran. İçinde İnşa etmek bölüm seçin Ortam değişkenlerini enjekte edin . Orada, VARIABLE_NAME = VALUE kalıbı gibi ortam değişkenini sağlamamız gerekir.
Sonuç
Maven'in büyük bir kısmının Jenkins ile entegrasyonu, sonuçları görüntülemek için Jenkins için TestNG eklentileri, Jenkins'te kurulan Jenkins, Java ve Maven üzerinde iş oluşturma gibi, Jenkins üzerindeki global yapılandırmaların artık kolayca anlaşılabileceğini umuyoruz.
Ayrıca, Jenkins'in zamanlama mekanizmaları, derleme sonrası eylemleri, Jenkins'in Git'te veya başka herhangi bir depoda veya yerel olarak bulunan kodla nasıl başa çıktığı burada ayrıntılı olarak gösterilmiştir. Her adımı tek tek uygulayın ve Maven Jenkins füzyonu netleşecek. Ayrıca projeler için Maven belgelerini de inceledik.
Sürekli bir entegrasyon aracı olan Jenkins, çevik bir dünyada geliştiriciler, test uzmanları, iş analistleri vb. İçin gerçek bir kullanıma sahiptir. Her kuruluş, ara sıra sürekli entegrasyon süreçlerini kullanmaya ve uyarlamaya çalışır.
=> Maven Eğitim Serisini Herkes İçin Görmek İçin Burayı Ziyaret Edin.
Önerilen Kaynaklar
- Maven Nedir - Yeni Başlayanlar İçin Maven Eğitimi
- Gradle Vs Maven ve Maven Eklentileri
- Jenkins CI Eğitimi - Jenkins Sürekli Entegrasyonu Nedir?
- Jenkins İşleri: SCM'yi Yapılandırma, İşler Oluşturma ve SCM Yoklama
- Jenkins Eklentileri: SCM, Analizörler ve Eklentilerin Kurulumu
- Maven'in Maven Surefire Eklentisini Kullanarak TestNg ile Entegrasyonu
- Jenkins Güvenliği: Güvenliği ve Proje Güvenliği Matrisini Etkinleştirme
- Maven'i Eclipse Java IDE ile Yapılandırma