Skip links

Dynamics 365 Finance and Operations Test ve Canlıya Geliştirmeler Nasıl Taşınır? “2- Dev ile Main Branch Arasında Kod Merge Yapma”


Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 117

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 118

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 117

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 118
Dynamics 365 Finance and Operations Test ve Canlıya Geliştirmeler Nasıl Taşınır? “2- Dev ile Main Branch Arasında Kod Merge Yapma”

Bu yazıda Dynamics 365 Finance and Operations için Visual Studio içinden yaptığımız geliştirmeleri Test ve Canlı ortamlara taşımak için gerekli olan ikinci adım olan Merge den bahsedeceğim. Merge birleştirme demek. Temelde farklı klasör ve Branch’ler arasında kod transferi yapmak diyebiliriz. Bizim örneğimizde iki Branch var Dev ve Main. Genel yaklaşım Teste kodu Dev Build ile çıkmak sonrasında onay gelen geliştirmeler için Dev Branch’inden Main Branch’ine Code Merge yapmak gerekiyor ve sonrasında Main üzerinde Build oluşturup canlıya alım yapmak. Tabi bunlar yaklaşım bu konuda kesin böyle olacak diye bir şey yok. Kendi ekibiniz ve projenin şartlarına göre bu metodolojilerden birine karar vermek gerekiyor.

Şimdi gelelim Dev’den Main’e nasıl Merge yaparız. Öncelikle Visual Studio’yu admin haklarıyla açıyoruz. Team Explorer-> Source Control Explorer ekranını açıyoruz. Önceki yazılarımda DevBox nasıl Azure DevOps’a bağlanır anlatmıştım. O yüzden direk Azure DevOps projemi görüyorum. Bu projede faklı bir klasör yapısı kullandık.

Resim-1

Merge başlamak istediğimiz Branch üzerinden sağ tıklayıp Branching and Merging-> Merge diyoruz.

Resim-2

Source Control Merge Wizard açılıyor. Soruce Branch ve Target Branch otomatik geldi isterseniz değiştirebilirsiniz. Burada Changeset nedir ondan bahsetmek lazım. Changeset bir check-in’deki bütün nesneleri barındıran bir yapıdır otomatik bir ID oluşur ve genelde aktarım işlemleri bu ID ile yapılır. Buradan Selected changesets seçip devam edelim. Diğer seçeneğe aşağıda değineceğim.

Resim-3

Merge edilmemiş bütün Changeset’ler listelenecek. İstedikleriniz seçebilirsiniz.

Resim-4

Seçerken Changeset’ler arasında boşluk bırakmamaya özen gösterin. Bu durumda çok fazla Conflict oluşabiliyor ve çok uğraşmak zorunda kalıyorsunuz. Burayı düzenli ve iyi takip etmek lazım. Next ile devam ediyoruz.

Resim-5

Bir özet ekranı geliyor ve Finish dersek işlem bitmiş olacak. Ben bu ortamda henüz Merge hazır olmadığı için devam etmiyorum.

Resim-6

Gelelim diğer seçenekle ilerlersek ne oluyor ona bakalım. All changes up to a specific version seçerek ilerlersek belli tiplere göre Merge yapabiliriz.

  • Changeset: bu seçeneğini seçtiğinizde herhangi bir Changeset numarasını girebilirsiniz. Buna ek olarak buradaki (…) ‘ya tıklayarak Changeset arayabilir ve istediğiniz Changeset’i arama penceresinden seçebilirsiniz.
  • Date: bu seçenek belli bir tarihteki değişiklikleri seçebilirsiniz.
  • Label: geliştirmenizin anlık snapshot’ını almanıza sağlayan bir mekanizmadır eğer kullanırsanız buradan onunla ilgili seçimleri yapabilirsiniz.
  • Label Version: Label mekanizmasını kullanıyorsanız versiyonlarını seçmenize imkan tanır.
  • Workspace Version: bu seçenek ile Devbox üzerinde çalışmakta olduğunuz workspace seçmenizi sağlar.

Resim-7

Changeset seçersek belli bir Changeset numarası arayabiliriz ve gelen sonuçlarla ilerleyebiliriz.

Resim-8

Bu yazıda Branch’ler arasında kod aktarımı için kullanılan Merge mantığından bahsettim. Teste ve canlıya kod almak için elzem değil ancak doğru stratejiyi belirleyip ilerleyip bunları otomatiğe bağlamak lazım. DevOps mühendisi bizim uygulamalarımız için çok önemli bir role haline geldi. Şimdi kodları aktardığımıza göre 3. Aşama olan Build oluşturmaya geçebiliriz.

Selamlar.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar:
www.mshowto.org

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Merge, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apss, Power Virtual Agents, Dynamics 365 nedir, Dynamics 365 ERP, Dynamics 365 CRM

 

 

 

Join the Discussion