İlk olarak Kontrol Merkezi kısmından Job oluşturacağımız Branch kısmını açarız. Örnek Test ortamı için oluşturmak istersek jenkins-url/job/test/ adresine giriş yapmamız lazım. Oradan Job oluşturacağımız Proje sayfasına tıklarız. Örnek projemizin adı CRM olsun gideceğimiz görüntüleme sayfası jenkins-url/job/test/view/CRM şeklinde olacaktır. Test ortamı içerisindeki CRM projesi sayasını açtığınızda içerisinde ekran, servis ve diğer paket adlarını alfabetik sıralanmış şekilde göreceksiniz. İlgili ekranda sağda New Item (Yeni Öğe) diyerek yeni bir Job oluştururuz. Örneğin Test ortamı için yeni bir Job oluşturma şekli jenkins-url/job/test/newJob/ dizini üzerinden olacaktır.
Yukarıdaki gibi açılan ekranda "Enter an item name" kısmına paket adı ile aynı başlayacak şekilde Wide Release, All Release veya Release yazarak yeni Job ismi belirleyebilirsiniz. Job adını yazarken paket isimlendirme kuralı ile aynı olmasına dikkat edin ve büyük küçük har duyarlılığını göz önünde bulundurun. Örneğin CRM projemizin paketleri CRM-Core, CRM-UI, CRM-WS olsun o zaman Job ismi olarak CRM-Release veya CRM-WideRelease şeklinde isimlendirme yapabilirsiniz. Burada Wide kelimesini kullanma sebebim ise paket isimli alfabetik olarak proje içerisinde sıralanmaktadır ve Wide kelimesi genelde en aşağılarda hatta aşağıda olacağı için bu Job'ı bu şekilde konumlandırmak istedim. İsim belirledikten sonra listeden Pipeline seçip OK diyerek yeni Job'ı oluşturmuş olursunuz.
Yeni oluşturduğum Job için gerekli ayarları yapmaya geçecek olursak; ilk olarak General sekmesinden başlayacağım. Açıklama alanını boş bırakabilir veya bilgilendirici uyarı yapmak istiyorsanız buraya bir açıklama yazabilirsiniz. Hemen aşağısında "Bu yapılandırma parametreleştirilmiştir." sekmesini tıklayın ve açılan alt ekranda Parametre Ekle Combobox butonuna basıp Boolean Parameter seçeneğini seçiniz. Name kısmına tek tek paketlerin tam adını yazarak hepsini ekleyiniz. Burada önemli olan bir noktaya değinmek isterim. Mesela CRM-Core paketi için Set by Default seçeneğini işaretlemedim fakat diğer tüm paketler için bu seçeneği işaretledim. Bunun sebebi ise genelde Core paketlerde yapılan değişiklik önce Deploy edilip sonradan diğer paketlere yansıması için diğer alt paketlerin Deployment işlemleri paralelde Core bitince başlatılır. Bu yüzden siz manuel olarak Core paketin Deployment ve Jenkins Test süreci bitince Release Job'ı çalıştırmanızı öneririm. Zaten oluşturacağımız Job sonucunda Build etmek istediğiniz zaman siz de göreceksiniz Core dışındaki tüm paketler Default işaretlenmiş gelirken Core paketi işaretsiz gelecektir.
İkinci ayar olarak Do not allow concurrent builds seçeneğini işaretleyiniz. Bu sayede eş zamanlı Job Release çalıştırılıp Node kitlenmesi yaşanmasın. Üçüncü ayar olarak Eski Yapılandırmalardan Kurtul seçeneğini seçin ve Yapılandırmaların geriye dönük saklanacağı toplam gün sayısı olarak 30 veya 120 gibi tutacağınız log sayısı ve alanınız kadar bir gün belirleyebilirsiniz. General sekmesi bu kadar olup ekstra bir ayarınız yoksa Build Triggers ve Advanced Project Options sekmelerini geçebiliriz.
Son olarak Pipeline sekmesinden ayarlar için Definition kısmında Pipeline script for SCM kısmını seçiniz. SCM'nin açılımı Source Code Management yani Sürüm Kontrolü demektir. Alt SCM sekmesinden Git seçebilirsiniz. Repositories altında bulunan kurumun Repository URL adresini buraya yazabilirsiniz. Ekstradan Git Repo'ya ulaşmak için şifre kullanıyorsanız Credentials kısmını buradan konfigüre edebilirsiniz.
Branches to build kısmında ise Branch Specifier ayarlarını girebilirsiniz. Burası */master veya refs/master şeklinde bir ayar olacaktır. Git ayarlarınıza göre burayı doldurabilirsiniz. Script Path kısmı ise Jenkinsfile olabilir bunu da Git ayarlarınızdan bakabilirsiniz. Son dokunuş olarak Lightweight checkout seçeneği de işaretli olmalıdır ve Apply Kaydet diyerek Job oluşturmayı tamamlayabilirsiniz.
Job oluşturma işlemimiz tamamlandığına göre ayarladığımız paketleri toplu Deployment etme işlemine geçebiliriz. Test ortamı altındaki CRM projesi için bu işlemi yapmıştık. Bu yüzden oluşturduğumuz CRM-WideRelease Job'ı jenkins-url/job/test/view/CRM/job/CRM-WideRelease/ adresi altında olacaktır. İlgili sayayı açtığınızda Build with Parameters sekmesine tıklayın ve Set by Default olarak işaretlediğimiz paketlerin seçili olarak geleceğini göreceksiniz. Aşağıdaki Yapılandırma butonuna basarak tüm paketlerin Deployment işlemini artık paralelde otomatik başlatabilirsiniz. Pipeline üzerinde Applications kısmı hata vermediği sürece toplu Deployment işlemimiz başarılı sonuçlanmıştır diyebiliriz.
Son olarak şunu da eklemek isterim sadece tüm paket Deployment işlemleri değil bir projeye ait Re-Deploy ihtiyaçları içinde bu Job'ı kullanabilirsiniz. Örneğin bir projenin ortak paketine kod çıkılmıştır ve sonrasında tüm paketler ortak paket Deployment işleminden sonra Re-Deploy ihtiyacı doğmuştur işte bu gibi durumlarda da kısayol olarak bu yöntem işinize yarayacaktır. Yine bu makalede Core paketler için ekstra bir yapılandırma daha yapacak olursam ekleyeceğim yazımı okumayı ve takip etmeyi unutmayınız.
Burak AVCI - Update: 14.06.2022
Hiç yorum yok:
Yorum Gönder
Makaleye Yorum ve Sorularınızı Bırakabilirsiniz.