Azure DevOps – Bölüm 4: Azure Pipelines Nedir?
  1. Anasayfa
  2. DevOps

Azure DevOps – Bölüm 4: Azure Pipelines Nedir?

0

Azure DevOps serisinin önceki bölümünde Azure Boards‘tan bahsetmiştim. Bu bölümde ise projelerimizin derleme ve dağıtım süreçlerini otomatize edebilmemize olanak sağlayan Azure Pipelines’tan bahsetmek istiyorum. Azure Pipelines, kodumuzu sürekli olarak derleyip test edebilmemizi ve belirli bir hedefe dağıtabilmemiz için Continuous Integration (CI) ve Continuous Delivery (CD) süreçlerini bir araya getiren bir bulut hizmetidir. Peki bu hizmet bizlere hangi avantajları sunuyor?

  • Birçok konuda farklı kullanım seçenekleri sunan Azure Pipelines’ı on-prem veya cloud’da bulunan uygulamalarımız için rahatlıkla kullanabiliriz.
  • Build – Deploy – Test süreçlerimizi otomatize edebilir, istediğimiz test teknolojilerini ve framework’leri kullanarak değişikliklerimizi hızlı ve sürekli bir şekilde test edebiliriz.
  • Python, Java, JavaScript, PHP, Ruby, C#, C++ ve Go gibi birçok dil seçeneği ile çalışabiliriz.
  • Java, JavaScript, Node.js, Python, .NET, C++, Go, PHP ve XCode gibi birçok uygulama türüyle kullanabiliriz.
  • Open Source projelerle birlikte kullanabiliriz.
  • Windows, Linux veya Mac fark etmeksizin istediğimiz makinede çalıştırabiliriz.
  • Versiyon Kontrol Sistemi olarak Git ve Team Foundation Version Control (TFVC) olarak iki seçenek sunmasına ek olarak kaynak kodlarımızı GitHub, GitHub Enterprise, Bitbucket Cloud ve Subversion veya başka bir Git deposunda yönetebiliriz.
  • Aynı anda birden fazla hedefe deployment yapabiliriz.
  • Microsoft Azure’un yanı sıra Google Cloud, AWS veya kurum içi hizmetlere dağıtım yapabilir, eğer mobil uygulamamız varsa bunu bir mağazaya yayımlayabiliriz.
  • Başkalarının kullanımına sunmak için NuGet, npm, or Maven paketleri oluşturabiliriz.

Bu özelliklere ek olarak bir demo ile Azure Pipelines’ta Continuous Integration (CI)’ı sürecimize dahil ederek basit bir pipeline oluşturmak istiyorum. Öyleyse başlayalım. 😊

Öncelikle Azure DevOps’ta sol menüye gelelim ve Pipelines’ı seçelim.

Resim – 1

Azure DevOps, bir pipeline oluşturabilmemiz için Classic Editor‘un yanında build ve release süreçlerini basitleştirmek için bir YAML tasarımcısı sağlar. Biz bu demo’da Classic Editor ile devam edeceğiz.


Resim – 2

Karşımıza gelen sayfada kodumuzun bulunduğu kaynağı, ilgili projemizi ve hangi branch için pipeline oluşturacağımızı seçmemiz gerekiyor. Bizim projemiz Azure Repos‘ta bulunduğundan dolayı Azure Repos Git seçeneğini işaretledim. Repository alanında mshowto isimli projemi seçtikten sonra master branch’i için pipeline oluşturacağımızı belirtip Continue butonuyla ilerleyelim.

Resim – 3

Sonraki adımda projemizin build ve test işlemlerini gerçekleştirebilmek için bir template seçmemiz gerekiyor. Bizim projemiz bir ASP.NET Core projesi olduğu için ASP.NET Core template’ini seçip Apply butonuna tıklayalım.


Resim – 4

Bu işlemlerden sonra build pipeline sürecini kolaylıkla yönetebileceğimiz ve takip edebileceğimiz bir ekranla karşılaşıyoruz. Bu ekrandaki sekmeleri sırasıyla inceleyelim.

Tasks sekmesinde Resim – 5‘te gördüğünüz gibi oluşturacağımız pipeline’nın adı, agent özellikleri ve parametreler bulunuyor.


Resim – 5

Variables sekmesinde configuration veya platform gibi build işlemi sırasında kullanacağımız özel parametreleri yapılandırabiliriz.


Resim – 6

Triggers sekmesinde, başka bir build işlemi tamamlandığında, projede değişiklik yapıldığında veya build işlemlerinin belli bir zamanda otomatik olarak yapılmasını sağlayan trigger’lar oluşturabiliriz. Kaynak kodda değişiklik yapıldığında build işleminin otomatik başlaması için Enable continuous integration seçeneğini aktifleştirelim.


Resim – 7

Options sekmesi ise build workflow’u ile ilgili ayarlar yapabileceğimiz bir alandır.


Resim – 8

Geçmişte yaptığımız değişiklikleri ise History sekmesinden takip edebiliriz.


Resim – 9

Tüm bu ayarlarımızı kaydetmek için Save & queue’a tıklayalım ve diğer adıma geçelim.


Resim – 10

Son olarak Resim – 11‘de gördüğünüz gibi daha önce seçtiğimiz ayarları burada da kontrol edelim ve Save and run diyerek pipeline’ımızı çalıştıralım.


Resim – 11

Resim – 12′de gördüğünüz üzere build işlemimiz kuyruğa alındı. Kuyrukta bekleme süresi diğer build işlemlerine bağlı olarak değişkenlik gösterebilir.

Resim – 12

Agent Job 1′e tıklayarak gerçekleşen işlemleri detaylı olarak görelim.

Resim – 13

Build işlemimizin başarıyla tamamlandığını Resim – 14‘te görebiliriz.

Resim – 14

Şimdi, kaynak kodumuzda değişiklik yaparak oluşturduğumuz pipeline’ı tetiklemek istiyorum. Sol menüden Repos‘a gidelim. Resim – 15‘da gördüğünüz üzere kaynak kodlarımız Files altında bulunuyor.

Resim – 15

Projemiz içinde Views > Home > Index.cshtml dosyamıza gidelim ve Edit butonuna tıklayalım.

Resim – 16

Dosyamızda küçük bir değişiklik yaptıktan sonra Commit butonuna tıklayalım.

Resim – 17

Yapacağımız commit için bir comment yazalım. Dilerseniz bu commit’i bir work item’a bağlayabilirsiniz. Commit butonu ile ilerledikten sonra build’in tekrar başladığını göreceğiz.

Resim – 18

Pipelines sekmesinden kontrol sağladığımızda build işlemimizin başarıyla tamamlandığını görüyoruz.

Resim – 19

Azure DevOps serisinin 4. bölümünde Azure Pipelines’ı ve CI sürecini bir örnekle anlatmaya çalıştım. Bir sonraki bölümün konusu Azure Test Plans olacak.

Faydalı olması dileğiyle. 😊

Bu konuyla ilgili sorularınızı   alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

https://www.mshowto.org

https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started/what-is-azure-pipelines?view=azure-devops

TAGs: Azure, Azure DevOps, Azure Pipeline, Azure Pipelines nedir

Bu İçeriğe Tepkin Ne Oldu?
  • 7
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

2019 yılında Yıldız Teknik Üniversitesi Matematik Mühendisliği bölümünden mezun oldum. Stajlarımı Ziraat Teknoloji ve Halkbank BT’de tamamladım. Lisans eğitimim ve yaptığım stajlar yazılım alanına yönlenmemi sağladı. Şu an 360 DOTNET’te Software Engineer olarak çalışıyorum ve C#, JavaScript, AngularJS, WinForms, WPF, .NET Framework/Core with MVC, MSSQL Server, Azure DevOps ve Microsoft Azure konularında kendimi geliştirmeye devam ediyorum.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir