11 Ağustos 2022

Jenkins’te Plugin Güncelleme Mesajları ve Uyarıları, Oracle WebLogic Sunucu Restart İşlemi ve Jenkins’te Paket Oluşturma İşlemleri

Jenkins’te Plugin Güncelleme Mesajları

DevOps araçlarından Jenkins'te sizlere bu yazımda güncel Jenkins LTS ortamına gelen bazı Plugin güncellemelerini ve onla birlikte yansıyan uyarı mesajlarından bahsedeceğim. Bu mesajlar genelde eklenti yönetim paneli olan Plugin Manager sayfasında sarı, mavi ve kırmızı olarak önem seviyesine göre mesajlar şeklinde gözükmektedir. Sarı ve mavi olanlar genelde çok problem çıkarmaz iken kırmızı olanları güncellemek var olan sistemi bozabilir ve hatalar ile karşılaşabilirsiniz bu yüzden açıklamayı iyice okuyup güncelleme yapmanızı tavsiye ederim. Standart birçok eklentiye gelen sarı ve mavi renkli uyarı mesajlarını ben aşağıda sizlerle paylaşacağım. Ayrıca Jenkins LTS'nin son versiyonu olan 2.346.3 ile birlikte gelen birçok eklenti güncellemesi olup bazı eklentileri siz Manuel yüklemiş olmasanız bile otomatik sistemde yüklenmiş olmasının sebebi bazı eklentiler başka Plugin paketlerine bağımlılık (Dependency) duyduğu için otomatik kurulmuştur. Bu yüzden Plugin Manager panelinden bu eklentiyi kullanmıyorum o zaman kaldırayım gibi bir gaflete düşmeyin çünkü başka bir eklentinin bağımlılığı olabilir. Makalemde hem Plugin güncellemelerini hem de Oracle WebLogic Restart işlemi ve bazı Jenkins ile ilgili yeni öğrendiğim bilgileri maddeler halinde sizlerle paylaşacağım.

1) Role-based Authorization Strategy Güncelleme Mesajı
Yakın zamanda eklentiler arasında Role-based Authorization Strategy güncellemesi yaptıysanız aşağıdaki gibi bir uyarı bildirim mesajını panelde alabilirsiniz.

The Restrict project naming coniguration is not set to the Role-based Strategy. This can lead to problems as it allows users to create items, for whic they have not the sufficient permissons to discover, read or conifgure.

Role-based Authorization Strategy

Bu mesaj bir hata değil konfigürasyonla ilgili olarak sizi uyaran bir mesaj olup Jenkins'i Yönet kısmından Security altındaki Configure Global Security ekranından Yetkilendirme kısmını Role-Based Strategy olarak seçmenizi istemektedir. Genelde bu eklenti sizde kuruluysa yetkilendirme ayarlarında Role-Based Strategy seçeneği Deafult olarak da gelebilir fakat listeden bu ayarı seçmeniz tavsiye edilmektedir. Eğer seçilmezse Jenkins sistemine kayıtlı kullanıcılar yanlışlıkla yeni Rol Item oluşturabilir bu yüzden ilgili yetkilendirme ayarını seçip Apply ve Kaydet dedikten sonra uyarı mesajını Dismiss ederek süreci tamamlayabilirsiniz.

Pipeline Jenkins

2) Sunucu Güncelleme ve Plugin Sarı-Mavi Mesajlar
Jenkins'te paket Deployment işlemlerini bildiğiniz gibi Stage View ekranından takip ederiz. Eğer daha detaylı Pipeline süreci takip etmek ve Log detaylarını görmek istiyorsanız Open Blue Ocean eklentisini kurup kullanabilirsiniz. Ayrıca detaylı Pipeline ve yönetim panelini incelemek isterseniz ci.jenkins.io adresinden detaylı bilgi ve görseller edinebilirsiniz.

Örnek Pipeline: Checkout > Assemble > Fortify (Pre Deploy) > Deploy Package > Test (Dev Unit Test) > Otomasyon (E2E Test) > Fortify (Post Deploy)

Yukarıda örnek bir Deployment Pipeline süreci ekledim. Bazı kurumlarda bilgi güvenliği ekibi paket taraması için kullandığı Fortify uygulamasını Deploy öncesi Pre Deploy aşamasında çağrılabilir fakat bu süreç Agent yani sunucuları yoracağı için bu özelliği her paket ve test ortamı için aktif etmeyebilirsiniz. Fakat Preprod ortamda her paket için mutlaka Fortify (Post Deploy) adımının aktif olmasını öneririm. Bunlar dışında hem otomasyon hem de Unit yani birim testlerinde Pipeline sürecinde olması ve Coverage oranının %80-90 altına inmemesi önemlidir.

Jenkins sunucu güncellemesi yaparken kurumsal hayatta genelde bunu Linux sistem ekibi yapmaktadır. Temelde YUM Update işlemi olsa da kurumsal süreçlerde önce sunucunun Snapshot kaydı alınır. Snapshot; bir sanal sunucu diskinin T anında fotoğrafını çekip daha sonra disk üzerinde oluşan tüm değişiklerin bir başka dosyaya (Delta File) yazılmasıdır. Bir nevi Backup veya kolay yedeklemedir diyebiliriz. Bu özellik sanallaştırmada marka olan VMware firmasının getirdiği bir yeniliktir. Bu bilgilerden sonra Jenkins'te Plugin güncelleme mesajlarına geçecek olursak;

Mesaj 1: Applying this update will address security vulnerabilities in the currently installed version.

Birinci uyarı mesajında güncelleştirmenin uygulanması, şu anda yüklü olan sürümdeki güvenlik açıklarını giderecektir mesajını vermektedir. Sarı renkte bir mesaj olup güncellemenizi tavsiye ederim.

Mesaj 2: This version of the plugin exists but it is not being offered for installation, so the latest bug fixes or features are not available to you. This is typically the case when plugin requirements, e.g. a recent version of Jenkins, are not satisfied. If you are using the latest version of Jenkins offered to you, newer plugin releases may not be available to your release line yet. See the plugin documentation for information about its requirements.

İkinci uyarı mesajı Mavi renkte bir mesaj olup Jenkins LTS yeni versiyon uyarılarında genelde bu mesajı vermektedir. Bu eklentiyi eğer mevcut eklentinizde hata almıyorsanız yükseltmeyin sonraki Jenkins sürüm yükseltmelerinde ilgili uyarının gittiğini göreceksiniz.

Mesaj 3: This plugin is up for adoption! We are looking for new maintainers. Visit our Adopt a Plugin initiative for more information.

Üçüncü uyarı mesajı Sarı renkte bir mesaj olup, Bu eklenti benimsenmeye hazır! Yeni bakıcılar arıyoruz. Daha fazla bilgi için eklenti kabul etme girişimimizi ziyaret edin şeklinde bir mesaj içermektedir ve rahatlıkla eklentiyi güncelleyebilirsiniz.

Oracle WebLogic Server

3) Oracle WebLogic Sunucu Restart İşlemi
Oracle WebLogic Server, Oracle Corporation tarafından geliştirilen bir Java EE uygulama sunucusudur. Kurumsal dünyada özellikle Production ve Test uygulama sunucularını yönetmek için kullanılan çok detaylı sunucu yönetim aracıdır. Özellikle Test ortamlarında Jenkins ile Deployment yapıyorsanız arka tarafta tetiklediğiniz paket aslında WebLogic üzerinde Deployment yapıyor olabilir. Jenkins burada ekstradan size DevOps ve Pipeline yönetimi gibi ekstra özellikler katar fakat günün sonunda asıl Deploy WebLogic sunucusu üzerinde gerçekleşir. Oracle WebLogic sunucularını genelde kurumsal şirketlerde Orta Katman (Middleware) ekibi yönetir. Bu panel üzerinde sunucuları basitçe Restart etme yöntemini sizlere göstereceğim.

İlk olarak Restart edeceğiniz Production veya Test Oracle WebLogic Server paneline giriş yapınız. WebLogic panelinde sol kısımda bulunan Domain Structure kısmından Environment alanını açınız ve Servers alanına geliniz. Açılan Summary of Servers ekranında Control tabına tıklayınız. Tüm sunucuları resimdeki gibi göreceksiniz, Admin yani yönetim sunucusu dışındaki tüm sunucuların yanındaki Checkbox alanını işaretleyerek seçiniz. Admin sunucusunu asla seçmeyiniz çünkü açtığınız panelde bu sefer Restart olacağı için Shutdown emrinden sonra makinaları tekrardan Start yapamazsınız. Admin dışında diğer tüm sunucuları seçtikten sonra hemen aşağıdaki Shutdown butonuna tıklayıp Force Shutdown Now seçeneğine tıklayınız. Açılan Server Life Cycle Assistant ekranında Yes diyerek Restart işlemini başlatabilirsiniz. Bir iki dakika kadar bekleyin ve sunucuların State kısmında Shutdown olduğunu görün. Sonrasında tüm kapanan sunucuları tekrardan hepsini seçip Start diyerek State kısmı Running olana kadar bekleyiniz. Tüm sunucuların durumu Running olduğunda Restart işlemi tamamlanmış olacaktır. Sunuculara bağlı tüm Cluster'lar ayağa kalkmış olacaktır.

Oracle WebLogic Server hakkında bu basit bilgiden sonra ikinci bilgi olarak Lock Edit hatasından biraz bahsetmek istiyorum. Bazen Deployment sırasında Weblogic has a lock on the configuration hatası alabilirsiniz. Bunun sebebi WebLogic’de o sunucuda başkasının o an çalıştığını ve sunucuda ayar yaptığı anlamına gelir. Bu hatayı gidermek için sunucunun WebLogic paneline girip sağ üst tarafta bulunan Lock & Edit butonuna basarak Lock durumunu kaldırmanız ve yeniden Deployment başlatmanız yeterli olacaktır.

Jenkins’te Paket Oluşturma ve Klonlama İşlemi

4) Jenkins’te Paket Oluşturma ve Klonlama İşlemi
Jenkins’te var olan bir paketin aynı konfigürasyonlarını kopyalayıp benzer bir paket oluşturma işlemini kolayca nasıl yapılır bundan sizlere bahsedeceğim. İlk olarak oluşturmak istediğiniz paket hangi ortamda veya Stage'de ise Jenkins panelinde oraya geliniz ve yan tarafta bulunan New Item (Yeni Öğe) butonuna tıklayınız. Açılan sayada Enter an item name kısmına yeni oluşturacağınız paket adını giriniz. Örneğin CRM-Core paketini aynı ayarlar ile benzerini oluşturmak istiyoruz o zaman buraya CRM-CoreNew yazmalısınız. Sonra en aşağıda bulunan ve klon edeceğimiz paket adını Copy from kısmına yazmalıyız. Buraya örnekte verdiğimiz gibi CRM-Core yazarız ve OK deriz. Açılan sayfada Git ve benzeri ekstradan değiştirmek istediğiniz ayarlar varsa değiştirip Kaydet diyerek yeni paketinizi var olan bir paketten klon ederek basitçe oluşturmuş olursunuz.

Burak AVCI - Update: 12.08.2022

Hiç yorum yok:

Yorum Gönder

Makaleye Yorum ve Sorularınızı Bırakabilirsiniz.