Herkese merhaba,
Bugün Power BI Service’de deployment pipeline’lardan bahsedeceğim ancak başlamadan önce pipeline tool’unu kullanabilmeniz için premium lisansa sahip olmanız gerektiğini hatırlatmak istiyorum. Benzer şekilde pipelinea alınacak kontentleri içeren workspace’in de premium olması gerekmektedir.
Deployment pipeline’lar, workspace’inizdeki rapor, dashboard, dataset, dataflow, paginated report gibi kontentlerin son kullanıcıya ulaşmadan önce development ve test ortamlarını oluşturarak kontentlerin yaşam döngülerini kolayca kontrol etmenizi sağlayan araçlar. Workspace’deki içeriklerin güncellenmesi, test edilmesi veya düzenli aralıklarla yenilenmesi için tıpkı Azure pipeline’lardaki gibi CI/CD deployment yaklaşımı kullanılır. Nasıl Azure pipeline’larda projeleri otomatik olarak derleyip test edebiliyorsak benzer durum Power BI pipeline’lar için de geçerlidir.
Bir pipeline içindeki kontentlerin yaşam döngüsünü 3 adımdan oluşturur:
Development: içeriğin dizayn edildiği, geliştirildiği ve yeni kontent eklenebildiği ilk basamak
Test: İçerik hazırlandıktan ve geliştirildikten sonra içeriğin test edildiği adım. Bu adımda içerik teste açılabilir ve review edilebilir. Böylece son kullanıcının içeriği nasıl görüp kullanacağıyla ilgili fikir sahibi olunabilir.
Production: İçeriklerimizin son versiyonlarının son kullanıcıyla paylaşıldığı basamak.
Şimdi pipeline oluşturmak için Power BI Service’e gidiyorum.
ML workspace’im içindeki tüm kontentleri aşağıda bulabilirsiniz.

Tab menüde yer alan Create deployment pipeline ile veya sol menüdeki deployment pipeline ile devam ediyorum.

Pipeline’a isim verip açıklama girdikten sonra “Create” ile ilerliyorum.
İşe adımlara workspace atamakla başlıyoruz. Her workspace’i her adıma atayamayabiliyoruz. Açılan listede workspacei görmüyorsanız sebepleri;
- workspace’in admini değilsinizdir
- workspace premium capacity değildir.
- template app workspace’dir.
Demo için ben ML_WS’i deployment adımın atıyorum.

Atadığım workspace içindeki içerikleri görüntüleyebiliyorum, seçtiğim içeriğin üçnokta menüsü ile içeriği test ortamına deploy etmeden yönetebilirsiniz. Eğer daha önceden içeriklerin tamamını teste gönderdiyseniz 2.ci defa sadece seçtiğiniz içeriği de gönderebilirsiniz.

Test içinde workspace atadıktan sonra kontentleri içeriye kopyalayarak alıyorum.

ML_WS [Test] Workspace’i kendiliğinden açıldı. İzinleri ve özellikleri tamamen development adımında atadığım workspace ile aynı. Compare ile iki deployment arasındaki farka bakabilirsiniz. Test ve production için deployment rule oluşturabilirsiniz (development için hayır!). Bu çok güzel bir özellik çünkü database, server veya query parametreleri farklı adımlarda farklı özelliklerde çalışabilirler. Bunu datasource rule ve parameter rule ile yönetebiliriz.

Mesela, datamart2 isimli artifact’in verikaynağını bu adım için istediğiniz yere taşıyabilirsiniz. Kuralları oluştururken bazı limitler var: mesela kural oluşturmak istediğiniz artifact’in yetkilisi olmalısınız yada paginated report’larda parametre kuralı oluşturamıyoruz gibi.. Kural eklemeden önce burdan güncel datasource ve parametre kısıtlarına bakabilirsiniz.

Benzer adımları production için de yapıyorum: workspace atayıp kontentleri kopyalıyorum. Benzer şekilde ML_WS [Production] workspace’ide oluşturuldu.

Pipeline artık hazır. Artık atadığınız çalışma alanı içindeki artifactlerin geliştirilmesini ve testini pipeline üzerinden hızlıca yapabilirsiniz.
Gelelim pipeline’ların güvenlik ve paylaşımına.. Tab menüde yer alan Access ile pipeline’a erişimi olabilecek kişileri veya AAD’de oluşturduğunuz security grupları atayabilirsiniz. Ayrıca izni workspace bazında da verebilirsiniz (bu da çok işe yarayan bir özellik).

Yine tab menüde yer alan Deployment History ile deployment hareketlerini izleyebilirsiniz.

Umarım faydalı olmuştur.