Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 13306|Yanıt: 0

[Kaynak] Jenkins kısa bir tanıtım yaptı

[Bağlantıyı kopyala]
Yayınlandı 22.11.2018 09:59:36 | | | |
Bölüm 1 Jenkins nedir?

Jenkins, ölçeklenebilir, sürekli bir entegrasyon motorudur.

Başlıca şu amaçlarla kullanılır:

  • Yazılım projelerini sürekli ve otomatik olarak oluşturun/test edin.
  • Düzenli olarak yapılan bazı görevleri takip et.


Jenkins'in sahip olduğu özellikler şunlardır:

  • Kurulumu kolay - jenkins.war'ı veritabanı desteği olmadan servlet konteynerine dağıtmak yeterli.
  • l Yapılandırması kolay - tüm yapılandırmalar, onun sağladığı web arayüzü üzerinden sağlanır.
  • l Entegre RSS/E-posta, derleme tamamlandığında RSS yoluyla veya bildirimleri e-posta yoluyla yayınlar.
  • JUnit/TestNG test raporları oluşturuyorum.
  • l Dağıtık derleme desteği Jenkins, birden fazla makinenin birlikte inşa etmesi/test edilmesini sağlar.
  • l Dosya tanıma: Jenkins, hangi jarların hangi sürüm tarafından oluşturulduğunu, hangi jar sürümünün hangi sürümde kullanıldığını vs. takip edebilir.
  • l Eklenti desteği: Eklentiler destekleniyor, böylece ekibinizin kullanımına uygun araçlar geliştirebilirsiniz.


1 Jenkins'in Kökeni

Sürekli entegrasyon (CI), birçok yazılım geliştirme ekibinin yazılım geliştirme yaşam döngüsü boyunca kod kalitesini sağlamaya odaklanması için yaygın bir uygulama haline gelmiştir. Bu, yazılım oluşturma sürecini kolaylaştırmak ve sağlamlaştırmak için tasarlanmış bir uygulamadır. Ve geliştirme ekibinizin aşağıdaki gibi zorluklarla başa çıkmasına yardımcı olabilir:

  • l Yazılım Oluşturma Otomasyonu: Yapılandırma tamamlandıktan sonra, CI sistemi hedef yazılımı önceden belirlenmiş takvime göre veya belirli bir olay için oluşturur.
  • l Sürdürülebilir otomatik kontroller oluşturmak: CI sistemi sürekli olarak yeni veya değiştirilmiş check-in kaynak kodunu elde edebilir; yani, yazılım geliştirme ekibi yeni veya değiştirilmiş kodu periyodik olarak kontrol etmek zorunda olduğunda, CI sistemi yeni kodun orijinal yazılımın başarılı yapımını bozup bozmadığını sürekli doğrular. Bu, geliştiricilerin birbirine bağlı kodlarındaki değişiklikleri kontrol etmek için harcadığı zaman ve çabayı azaltır (açıkçası hehe).
  • l Sürdürülebilir otomatik test oluşturmak: Kontrolün genişletilmiş bir bölümünü oluşturmak, inşa ettikten sonra önceden tanımlanmış test kuralları setini yürütmek ve tamamlandıktan sonra ilgili taraflara bildirim (e-posta, RSS vb.) tetiklemek.
  • l Üretimden sonra sonraki süreçlerin otomasyonu: Otomatik kontroller ve testler başarıyla tamamlandığında, yazılım geliştirme döngüsünde dokümantasyon oluşturma, yazılım paketleme ve bileşenleri bir çalışma zamanı veya yazılım deposuna dağıtmak gibi ek görevler gerekebilir. Bu, bileşenlerin kullanıcılara daha hızlı sunulmasını sağlar.
  • Bir CI sistemi dağıtmak için gereken minimum gereksinimler, mevcut kaynak kodlarının deposu ve derleme betikleri içeren bir projedir.


Aşağıdaki diyagram, bir CI sisteminin temel yapısını özetlemektedir:



Sistemin bileşenleri aşağıdaki sırayla çalışıyor:

1. Geliştirici kodu kaynak kod deposuna kontrol eder.

2. CI sistemi her proje için ayrı bir çalışma alanı oluşturur. Yeni bir derleme önceden ayarlandığında veya istendiğinde, kaynak kod deposundan gelen kaynak kodunu ilgili çalışma alanına saklar.

3. CI sistemi, ilgili çalışma alanında derleme sürecini yürütecektir.

4. (Eğer Yapılandırma Varsa) Derleme tamamlandıktan sonra, CI sistemi yeni bir artefaktta tanımlanmış bir test seti gerçekleştirir. Tamamlandıktan sonra ilgili taraflara bildirimler (E-posta, RSS vb.) gönderin.

5. (Yapılandırma, varsa) Derleme başarılı olursa, bu artefakt paketlenir ve bir dağıtım hedefine (örneğin uygulama sunucusu) aktarılır veya yazılım deposunda yeni bir sürüm olarak saklanır. Bir yazılım deposu, bir CI sisteminin parçası veya harici bir depo olabilir; örneğin dosya sunucusu veya Java.net, SourceForge gibi bir web sitesi.

6. CI sistemi genellikle taleplere göre karşılık gelen eylemleri başlatır; örneğin anında derleme, rapor oluşturma veya bazı inşa edilmiş eserlerin geri alınması.

Jenkins böyle bir CI sistemi. Eskiden Hudson olarak biliniyordu.

İşte Jenkins'i kullanmak için bazı nedenler:

  • l Tüm CI ürünleri arasında kurulumu ve yapılandırması en kolay olanıdır.
  • l Web erişimine dayanan kullanıcı arayüzü çok dostcanlı, sezgisel ve esnektir ve birçok durumda AJAX'tan anında geri bildirim sağlar.
  • l Jenkins, Java üzerinde geliştiriliyor (eğer bir Java geliştiriciyseniz bu çok faydalı), ancak sadece Java tabanlı yazılım geliştirmekle sınırlı değil.
  • l Jenkins'in çok sayıda eklentisi var. Bu eklentiler Jenkins'in işlevselliğini büyük ölçüde genişletir; Hepsi açık kaynaklıdır ve doğrudan web arayüzü üzerinden kurulup yönetilebiliyorlar.


1.1 Jenkins'in Amaçları
Jenkins'in ana amacı, yazılım geliştirme sürecini izlemek ve sorunları hızla ortaya çıkarmaktır. Bu nedenle, geliştiricilerin ve ilgili personelin zaman ve çaba tasarrufu sağlamasını ve geliştirme verimliliğini artırmalarını sağlayabilir.

CI sisteminin geliştirme süreci boyunca ana rolü kontroldür: sistem kod deposunda bir değişiklik tespit ettiğinde, derleme görevini kendi derleme sürecine devreder. Derleme başarısız olursa, CI sistemi ilgili kişiyi bilgilendirir ve depoyu izlemeye devam eder. Karakterleri pasif gibi görünür; Ama sorunu hızla yansıtıyor.

Özellikle, aşağıdaki avantajlara sahiptir:

  • l Jenkins Tüm yapılandırmalar web arayüzünde yapılabilir. MAVEN_HOME ve e-posta gibi bazı yapılandırmalar yalnızca bir kez yapılandırılabilir ve tüm projeler kullanılabilir. Tabii ki, XML'i değiştirerek de yapılandırılabilir.
  • l Maven'i destekleyen modüller için Jenkins, Maven'i optimize etmiş, böylece modülleri otomatik tanıyabilir ve her modül bir iş olarak yapılandırılabilir. Oldukça esnek.
  • l Test raporu toplama, tüm modüllerin test raporları bir arada toplanır ve sonuçlar bir bakışta net, diğer CI'ler kullanılarak neredeyse imkansız bir görevdir.
  • l Artifact parmak izi, her derleme sonucu otomatik olarak iyi yönetilir ve herhangi bir yapılandırma olmadan kolayca inilip incelenebilir.






Önceki:Kitap: Ellery Quinn'in "National Name Series" dedektif roman başyapıtı koleksiyonu
Önümüzdeki:Jekins .NET Framework projesini nasıl dağıtıyor?
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com