Jenkins eklentilerini dağıtmadan önce değişiklikleri nasıl test edersiniz?


14

Bazı işlevleri bozan bir eklenti yükseltmesi tarafından ısırıldıysanız, bu sorun hakkında biraz düşünmelisiniz: Jenkins eklentileri yükseltme politikası ne olmalı? Değişiklikleri dağıtmadan önce nasıl test edersiniz?

Herkes yeni sürümleri test etmek için kukla işleri çalıştıran bir test örneği sahip kadar gitti ya da sadece sürümleri yükseltmek bir şey kırmak için dua mı?


Jeankins'in ekip politikasını mı (kuruluşunuzun) politikasını mı kastediyorsunuz?
Dan Cornilescu

Yükseltmeden önce Jenkins düğümünün anlık görüntüsünü alırdım ve test ettim. Benim tecrübelerime göre Jenkins hiçbir zaman görev açısından kritik bir bileşen olmadı. Bazı eklenti yükseltmeleri onu kırdığı için 15 dakika boyunca "kapatılırsa" genellikle üretimi herhangi bir şekilde engellemez, bu nedenle manuel müdahale kabul edilebilir. Tabii ki, sizin için durum böyle değilse (ve Jenkins% 100 HA olmalıdır), doğru yaklaşım değildir.
Assaf Lavie

@DanCornilescu organizasyon politikam bu iç Jenkins sunucumuz için
Michael Pereira

@AssafLavie Bu büyük ölçüde Jenkins'in çalışma şekline bağlıdır: Bağımsız sunucu, VM, docker konteyneri, kubernetes bölmeleri (bizim durumumuz). Olduğu gibi geri yüklemek için mevcut durumun anlık görüntüsünü almak kolay olmayabilir. Bizim durumumuzda Jenkins verilerini tutan EBS hacmini klonlayabiliriz, ancak hem kap hem de veri hacmini belirli bir duruma geri yüklemek manuel ve zaman alıcı bir işlemdir.
Michael Pereira

Merhaba @MichaelPereira Aşağıdaki iki cevaptan herhangi biri sorunuzu çözdüyse lütfen onay işaretini tıklayarak kabul etmeyi düşünün . Bu, daha geniş bir topluluğa bir çözüm bulduğunuzu gösterir ve hem yanıtlayana hem de kendinize biraz ün verir. Bunu yapma zorunluluğu yoktur. Sorunuzun yanıtlandığını düşünmüyorsanız lütfen yorumlarda yazarlarla iletişim kurmaktan çekinmeyin.
Richard Slater

Yanıtlar:


4

Çalıştığım şirketin politikalarına göre dev, preprod ve prod ortamlarımız var (bazı servis devlerinde eksik olabilir). Ve yeni sürümün yolu preprod-> test-> validation-> prod.

Bizim durumumuzda, ön üretimdeki işler, eşyada uygularken dua etmemize gerek kalmayacak kadar ağır ve karmaşıktır :)

Not : Yapılandırmayı korumak ve sunmak için svn kullanıyoruz. Yerinde değişiklik yapmayız.


Farklı Jenkins sunucularının yapılandırmasını nasıl koruyorsunuz? Elle?
Michael Pereira

Yapılandırmayı korumak ve sunmak için svn kullanıyoruz.
Yerinde

Bunun soruyu tamamen cevaplamadığını hissediyorum. Bu yanıt değişiklikleri nasıl dağıttığınızı açıklar, ancak değişiklikleri dağıtım kanalı üzerinden nasıl test ettiğinizi açıklamaz.
jayhendren

2

% 100 HA Jenkins ortamına ihtiyacımız vardı. genellikle eklentileri / Jenkins'in kendisini yükseltiriz.

Bu, yükseltme işleminden sonra yapı bozulursa büyük bir baş ağrısına neden olur.

Bunu sıralamanın en güvenli yolu gerçekten bir Demo Jenkins kurulumu almaktır. Belki aynı makinede birden fazla Tomcat uygulaması kullanarak, daha ucuza ulaşabilirsiniz.

Yaptığımız şey ayrı bir (Demo) VM oluşturmak ve Demo VM'deki ürün kurulumunu çoğaltmaktı. Herhangi bir şeyi değiştirmeden / yükseltmeden önce her iki VM'nin de anlık görüntüsünü alacağız. Ardından, Demo VM'deki yükseltmeleri test edeceğiz. İyi çalışıyorsa, Prod.

Herkes için planladığınız eklentisi ile herhangi bir sorun yaşadıysanız (SE / SO gibi) topluluğa bakabilirsiniz sanırım.


0

Her zaman ilgili eklentiyi kullanan her ilgili proje / dalda en az bir yeni yeşil (veya neredeyse yeşil) etikette yeniden çalıştırmayı veya ikisini manuel olarak tetiklerim ve aynı sonuçları aldığımı kontrol ederim. Sadece güvenli tarafta olmak için.

Eklenti güncellemesinden kaynaklanıp kaynaklanmadığını belirlemek için herhangi bir sonuç tutarsızlığının araştırılması gerekir. Belki birkaç eski ve yeni eklenti ile yeniden çalışır?


Elbette, hiç sorun değil.
Dan Cornilescu

Geçmiş deneyimlerimden düşüncelerim genellikle o kadar popüler değil, bu yüzden genel olarak spot ışıktan kaçınma eğilimindeyim :) Mod araçlarına da aşina değilim. Ama özellikle gerekliyse yardım etmeyi umursamıyorum - bu site için büyük umutlarım var.
Dan Cornilescu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.