top of page

Azure Pipelines nedir? Basit bir Asp.Net Core API Pipeline ile Nasıl Build Edilir?

Güncelleme tarihi: 29 Kas 2021

Merhaba Arkadaşlar, Epeydir bir şeyler yazmak istiyordum, fakat gerek yoğunluğum gerekse ne yazabilirim düşüncesiyle hep öteliyordum. Sonunda Azure Pipeline ile ilgili bildiklerimi yazma fikrinde karar kıldım.

Konuya doğrudan ortadan dalmış gibi oluyorum. Bunun amacı da belirli kitleler dışına hitap edebilmek amacıyladır. Eğer olumlu reaksiyonlar alabilirsem ilerleyen süreçlerde, oyunlarda, dizi ve filmlerde olduğu gibi, Flashback mantığıyla sürecin en başına geçiş yapıyor olacağız. Giriş kısmını daha fazla uzatmadan gelişme kısmına geçiyorum 😊.


Nedir Azure Pipelines?


Projelerimizi derleyip, test edebilmemizi sağlayan, bir hedefe dağıtabilmemiz için CI (Continous Integration), ve CD (Continous Deployment) süreçlerini bir araya getiren bulut ortamıdır. Microsoft tarafından sağlanan bulut ve on-premise bir çözümdür.


Peki Azure Pipelines yapısının avantajları var mıdır?


  • Birçok yazılım diline entegre şekilde çalışabilir.

  • İşletim sistemi fark etmeksizin, Windows, MacOs ve Linux cihazlarınızdan erişebilirsiniz.

  • Projemizin; build, deploy ve test süreçlerini otomatik hale getirip, zaman ve iş gücü tasarrufu sağlanır.

  • Aynı anda birden çok projeyi deploy edebilirsiniz.

  • Projelerdeki versiyon kontrol sorununa destek olur.

  • Projelerdeki paketlerinizi yükleyip erişebilir ve başkalarının da erişimine sunabilirsiniz.


Şimdi de bir projenin Azure Pipelines ile CI'ı da dahil ederek pipelines yapısını oluşturalım:


Azure DevOps, docker ve kubernetes gibi container build ve deployment işlemlerini destekler. Pipeline oluşturma sürecinde ise birden fazla yöntem içerir (Yaml kullanarak pipeline geliştirme gibi). Azure DevOps, drag and drop şeklinde pipeline oluşturmaya da izin verir.

Bizde şimdi, hız odaklı olarak drag and drop yöntemini kullanarak pipeline oluşturacağız. Mevcut örneğimizde basit bir .Net Core api projemizi git üzerinden alıp build edeceğiz.


Projemizin reposunun bulunduğu Azure adresine gittikten sonra, sol menüde Pipelines sekmesine gidiyoruz ve Create Pipelines diyerek sürece başlıyoruz.


Azure DevOps, pipelines yapısı oluşturabilmemiz için bize build ve release süreçlerini basitleştirmek amacıyla YAML tasarımcısı sağlar. Fakat biz Classic Editor ile devam ediyoruz.




1. Azure birden fazla source kontrol sistemini destekler (git, svn, tfs vs...). Projenin bulunduğu kaynağını seçiyoruz.

2. Projemizi seçiyoruz.

3. Proje Repository'sini seçiyoruz.

4. Projede hangi branch da gerçekleşen commit işlemleri ile yapıyı çalıştırmak istiyorsak onu seçip, sürece devam ediyoruz.




Bu adımda projemizin build ve test sürecinin gerçekleşmesi için bir template seçimi yapmamız gerekiyor. Benim kullandığım proje ASP.NET Core olduğu için, sürece onu seçerek devam ediyorum.




İlk olarak üst menüde bulunan sekmeleri inceliyoruz:

  • Task sekmesinde, pipeline ve agent oluşturulması ve yapılandırılması gibi işlemleri yapıyoruz.

  • Variables sekmesinde, build işlemi sırasında kullanacağımız parametreleri yapılandırıyoruz.

  • Triggers sekmesinde,

o Belirlediğimiz branchdan commit atıldığında,

o Belirlediğimiz zamanda veya zaman aralıklarında,

o Belirlediğimiz başka bir pipeline çalışmasını tamamladıktan sonra,

şeklinde yapılandırmaları yaptığımız sekmedir.

  • Options sekmesinde build iş akışı ile alakalı ayarlar yapabildiğimiz sekmedir.

  • History sekmesinde geçmişte yaptığımız değişiklikleri görüntüleyebiliriz.


Agent cihazlar, Azure DevOps sistemleriyle iletişim kurabilen cihazlardır. Oluşturduğumuz Agent Build makineler ile birden fazla build makineye sahip olmamız sağlanır.


Projemizdeki paketleri eklemek için Agent Job başlığından + tuşuyla ilgili tool ekleme işlemini yapıyoruz. Ardından sıradaki adımda projemizde sırasıyla:



  • Dotnet Sdk versiyonumuzu ayarlıyoruz.



  • Dotnet Restore işlemini yapıyoruz.



  • Dotnet Build komutunu ekliyoruz.



  • Dotnet Publish komutuyla projemizin paketlerini çıkartıyoruz.



  • Publish Artifact komutuyla çıkartılan paketleri istersek hedefe istersek belirleyeceğimiz bir klasöre yönlendiriyoruz (Artifact publish location). Örneğin, ftp ya da disk vs. gibi.


Son olarak Save&queue yaparak pipelines kaydımızı yapıyor ve Save and Run diyerek çalıştırıyoruz.



Oluşturduğumuz Agent Job 1 e tıklayarak detaylarını izleyebiliyoruz. Bu işlem, proje boyutu ve ilk pipelines çalıştırmada dosyaların tamamını yüklediğinden dolayı biraz uzun sürebilmektedir. Fakat daha sonrasında sadece değişiklik olan dosyalarının yüklemesini gerçekleştirdiğinden dolayı işlem süreleri kısalmaktadır.


Bu yaptığımız pipelines işleminin en güzel yanı ise çalışan sistem üzerinde kesintiyi minimuma indirerek 5 dk. gibi bir sürede build işlemini bitirebiliyor olmak. Umarım faydalı bir paylaşım olmuştur. Herkese iyi çalışmalar diliyorum. Kalın sağlıkla.


17 görüntüleme0 yorum

Son Yazılar

Hepsini Gör
bottom of page