Microsoft'un Power Platform'u gibi düşük kodlu platformlar inovasyonun kurallarını yeniden yazıyor ve vatandaş geliştiricilere daha hızlı bir şekilde uygulama geliştirmeleri için güç veriyor. Ancak hız, kod kalitesini, sorunsuz güncellemeleri ve verimli dağıtımları yönetme zorluğunu da beraberinde getiriyor. İşte bu noktada CI/CD devreye giriyor. Geleneksel yazılım dağıtımında devrim yarattı ve şimdi düşük kodlu içerik oluşturucular için yeni güvenilirlik, ölçeklenebilirlik ve hız seviyelerinin kilidini açıyor. CI/CD'nin Power Platform'u nasıl dönüştürdüğünü görmeye hazır mısınız? Hadi içeri dalalım ve kolaylaştırılmış geliştirmenin geleceğini ortaya çıkaralım.
Thomas Goldberger ve Gurpreet Bhadesh, Power Platform geliştirmede CI/CD'yi keşfediyor
'Let's Talk DevOps' video talk show'umuzda!
CI/CD nedir?
CI/CD, Sürekli Entegrasyon (CI) ve Sürekli Teslimat/Dağıtım (CD) anlamına gelir. CI/CD, yazılım geliştirmede entegrasyon, test, sürüm oluşturma, derleme, dağıtım ve kalite kontrol süreçlerini otomatikleştirir. Daha sorunsuz iş akışları, daha hızlı sorun çözümü ve daha yüksek kaliteli uygulamalar sağlar. Buna ek olarak, manuel müdahale ihtiyacını ortadan kaldırır, böylece kullanıcı geri bildirimleri daha sık bir şekilde ve çok daha hızlı bir şekilde dahil edilerek son kullanıcıların ve müşterilerin memnun kalması sağlanabilir. Bu geleneksel olarak geliştiricilere yönelik olsa da, düşük kodlu platformların benimsenmesindeki artış göz önüne alındığında, CI/CD düşük kod alanında giderek daha önemli hale gelmektedir.
CI/CD nasıl çalışır?
CI/CD'deki CI, geliştiricilerin kod değişikliklerini paylaşılan bir depoda daha sık birleştirebildiği bir süreç olan sürekli entegrasyon anlamına gelir. Bu güncellemeler her yapıldığında, geri işlenen kodun güvenilir olmasını sağlamak için otomatik test adımları tetiklenir.
CI başarılı bir şekilde uygulandığında, geliştiricilerin bir uygulamada yaptığı değişikliklerin birleştirilmesine, uygulamanın derlenmesi yoluyla otomatik olarak doğrulanmasına ve değişikliklerin uygulamayı bozmadığından emin olmak için farklı düzeylerde otomatik testlerin çalıştırılmasına olanak tanır. Tipik testler arasında birim testleri, entegrasyon testleri yer alır ve bunun faydası, yeni ve mevcut kodlar arasındaki çakışmaların keşfedilmesi, hata düzeltmelerinin hızlı bir şekilde teslim edilmesinin sağlanması yoluyla gerçekleştirilebilir. Buna ek olarak, kod kalitesini incelemek ve hataları tespit etmek için SonarQube gibi araçlar kullanılarak statik kod analizi yapılır. Bu düşük seviyeli testlerin 5 dakikalık bir çalışma süresini aşmamasını sağlamak önemlidir, böylece hızlı bir geri bildirim döngüsü olur.
CI/CD'deki CD, sürekli teslimat ve/veya sürekli dağıtım anlamına gelir. Bu terimlerin her ikisi de birbirinin yerine kullanılır, ancak bazen ne kadar otomasyon gerçekleştiğini göstermek için ayrı ayrı kullanılır. CI, tüm kod değişikliklerini bir test ortamına dağıttığı ve daha sonraki adımların kararlı, kalite güvenceli eserleri kullanabilmesini sağladığı için sürekli teslimat/dağıtım için bir ön koşuldur.
Sürekli teslimat, derleme aşamasından sonra tüm kod değişikliklerini bir test veya üretim öncesi ortamına dağıttığı için sürekli entegrasyonun bir uzantısı olarak yorumlanabilir.
Sürekli dağıtım, üretim hattının tüm aşamalarını (üretim hattının tüm aşamalarını geçmeleri koşuluyla) müşterilere otomatik olarak yayınladığı için sürekli teslimatı temel alır. Nihayetinde sürekli teslimat ve sürekli dağıtım arasındaki seçim, geliştirme ve operasyon ekiplerinin risk toleransına ve ihtiyaçlarına bağlıdır.
Olgun bir CI/CD hattının son aşaması sürekli dağıtımdır. Bu, geliştiricinin yaptığı değişikliklerin depodan üretime otomatik olarak aktarılması ve böylece müşterilerin bu değişiklikleri kullanabilmesi anlamına gelir. Bu, daha hızlı bir geri bildirim döngüsü sağlar ve bu da dağıtım sürecini daha az riskli hale getirir.
Şekil 1 - CI/CD nedir?
CI/CD neden önemlidir?
CI/CD başlangıçta Yurttaş Geliştiriciler için karmaşıklık yaratıyor gibi görünse de, yeni özellikleri ve hızlı hata düzeltmelerini barındıran ölçeklenebilir, otomatik bir geliştirme çerçevesi sağlar. Zamanla bu süreç, geliştiricilerin sürekli geri bildirim ve testler sayesinde daha az riskle daha güvenli ve verimli çalışmasını sağlar. Ayrıca, C-Suite paydaşları daha hızlı pazara sunma süresi, inovasyonu etkinleştirme ve risk azaltma gibi üst düzey faydalar elde eder.
Böylece, geliştiriciler iyileştirilmiş iş akışları, kalite ve işbirliği yoluyla fayda sağlarken, C-suite paydaşları daha hızlı inovasyon, maliyet tasarrufu ve iş hedefleriyle uyum gibi stratejik avantajlar elde eder. Her iki grup da Power Platform CI/CD'den yararlanır, ancak rollerine ve önceliklerine göre uyarlanmış farklı şekillerde.
Power Platform'da mevcut CI/CD seçenekleri nelerdir?
CI/CD çoğu yazılım teslimatı seçeneğinde yaygın olsa da Power Platform gibi düşük kodlu platformlarda nadirdir. CI/CD'nin sağladığı faydaları göz önünde bulundurarak, Power Platform'un da bunlardan yararlanması gerektiğine inanıyoruz. Bu blog yazısı serisinde inceleyeceğimiz iki CI/CD seçeneği vardır ve bunlar aşağıdaki gibidir:
- Power Platform'da Boru Hatları
- Azure DevOps için Microsoft Power Platform Build Araçları
Power Platform'daki boru hatlarını tartışarak başlayalım.
Power Platform'da Boru Hatları
Power Platform her zaman 'build is in prod' zihniyetine sahip olsa da, zamanla çözümlerin ve daha yakın zamanda boru hatlarının tanıtılmasına tanık oldu. Power Platform'daki Pipeline'lar, ALM otomasyonu ve CI/CD yeteneklerini üreticiler, yöneticiler ve geliştiriciler için çok daha erişilebilir bir şekilde hizmete sunarak uygulama yaşam döngüsü yönetimini (ALM) etkinleştirmeyi amaçlamaktadır.
Power Platform yaklaşımında boru hatları için ön koşullar
- Bir veya daha fazla boru hattı oluşturulmalı ve geliştirme için kullanılan ortamla ilişkilendirilmelidir
- Geliştirme ortamı Microsoft Dataverse'e sahip olmalıdır
- Geliştiricinin bir boru hattını çalıştırmak için erişimi olmalıdır
- Çözümleri hedef ortama aktarmak için yükseltilmiş ayrıcalıklar gereklidir
- Power Platform boru hatları uygulaması boru hattı ana bilgisayar ortamınıza yüklenmelidir.
Power Platform yaklaşımındaki boru hatları nasıl çalışır?
Çok basit ve kullanımı kolaydır, ancak bu aynı zamanda işlevsellik açısından sınırlı olduğu anlamına da gelir. Power Platform yaklaşımındaki boru hatları yalnızca yönetilmeyen çözümü yönetilen bir çözüm olarak başka bir ortama taşıyacaktır. Bu nedenle, daha fazla iyileştirme veya değişiklik yapmak istiyorsanız, bu yönetilen bir çözümle mümkün olmayacaktır. Çözümü versiyonlama için bir ZIP dosyası olarak kaydedecektir ve hepsi bu kadar. Yani, başka bir ortama göndermeden önce test otomasyonu, karmaşık dallanma veya yönetici onayı eklemek istiyorsanız, bu mümkün değildir.
Power Platform'da Boru Hatları
Yukarıdaki resimden de görülebileceği gibi, güncelleme bir düğmeye tıklanarak yapılır ve bakım çok azdır.
Power Platform Yaklaşımındaki boru hatlarının sınırlamaları
Power Platform'daki işlem hatları ilk bakışta basit ve kullanımı kolay gibi görünse de, içindeki işlevselliğin sınırlı olduğu açıktır. İlk sınırlama, işlevselliğin yalnızca yönetilen ortamlar için geçerli olmasıdır. Bu nedenle, yönetilmeyen çözüm paketleri boru hatlarını kullanmadan önce yönetilen çözümlere dönüştürülmelidir. İkinci olarak, ortamı daha önce yüklenen sürüme geri yükleme olanağı yoktur. Üçüncü olarak, sürüm ardışık düzeni sürüm kontrolüne bağlanamaz, dolayısıyla başka değişiklik yapılmaması için çözüm paketlerinin yönetilen çözümler olması gerekir. Son olarak, serbest bırakma sürecine kendi oluşturduğunuz iş akışlarını ekleme olanağı yoktur (örneğin, test uzmanlarından onay makbuzları, ardından üretime otomatik serbest bırakma).
Sonuç
Özetle, Power Platform işlem hatları, CI/CD yeteneklerini düşük kodlu ortamlara getirmek için hayati bir giriş noktası sağlayarak Vatandaş Geliştiricilerin dağıtımları kolaylıkla ve verimlilikle yönetmesine olanak tanır. Bu işlem hatları, manuel çözüm içe ve dışa aktarma ihtiyacını azaltarak değişikliklerin üretime aktarılmasını kolaylaştırır ve bu da özellikle küçük ve orta ölçekli ekipler için değerlidir. Bu erişilebilir yaklaşım, teknik olmayan kullanıcıların uygulama yaşam döngüsü yönetimine katılmasını sağlayarak daha hızlı geri bildirim döngüleri ve daha hızlı özellik dağıtımını kolaylaştırır. Bununla birlikte, daha karmaşık kurumsal ihtiyaçlar için Power Platform işlem hatlarının sınırlamaları (sürüm kontrolü entegrasyonu, geri alma seçenekleri ve onay iş akışlarının olmaması gibi) kuruluşların ek araçlar veya gelişmiş yapılandırmalar aramasını gerektirebilir.
Düşük kodun benimsenmesi arttıkça ve uygulamalar iş operasyonlarının giderek daha ayrılmaz bir parçası haline geldikçe, Power Platform içinde daha sağlam CI/CD çözümlerine olan talep muhtemelen artacaktır. Power Platform işlem hatlarında gelecekte yapılacak geliştirmeler ve ALM Accelerator gibi araçların eklenmesi, Microsoft'un platformda daha sofistike ALM süreçlerini destekleme konusundaki kararlılığına işaret ediyor. Bu gelişmeler, mevcut eksiklikleri gidermeyi ve daha geniş bir geliştirme senaryosu yelpazesini mümkün kılarak hem Vatandaş Geliştiricilerin hem de kurumsal ekiplerin uygulamaları daha fazla güvenilirlik ve ölçeklenebilirlikle oluşturmasını, dağıtmasını ve sürdürmesini sağlamayı vaat ediyor.
Azure DevOps için Microsoft Power Platform Build Tools'u ve bunun Power Platform işlem hatlarının eksikliklerini nasıl giderebileceğini incelediğimizbu blog yazısının bir sonraki bölümünü okumak için buraya tıklayın.
DevOps uzmanlarımız Thomas ve Gurpreet'i 22 Mayıs 2025'te Münih'teki Uluslararası Yazılım Kalite Günleri 'nde canlı yayında yakalayın ve Düşük/Kodsuz Geliştirme için CI/CD konusunu derinlemesine inceleyin!