Bicep ile Infrastructre as Code – Bölüm 6: GitHub Actions
0

Beşinci bölümde farklı modüller tanımlamış ve Azure CLI üzerinden manual bir deployment yapmıştım. Bu bölümde de işin otomasyon kısmından, GitHub Actions ile bir örnek yaparak bahsedeceğim.

Workflow’u oluşturmadan önce, kullanacağım Azure subscription’a erişim için yetki tanımı yapmam gerekiyor. Burada iki tane action secret tanımı yapacağım. İlgili repository’de Settings alında Secrets and variables sekmesine geliyorum (Resim-1). Burada New repository secret ile yeni secret değerlerini oluşturacağım.

Resim-1

İlk olarak AZURE_CREDENTIALS adında bir secret tanımı yapacağım.

Resim-2

Buraya yazacağım değeri de almak için Azure CLI üzerinden aşağıdaki komutu çalıştırarak, Azure AD üzerinde bir app registration yapmış olacağım.

az ad sp create-for-rbac –name bicep-sample –role contributor –scope /subscriptions/<subscription_id> –sdk-auth

Bu komutun çıktısının tamamını alıp, AZURE_CREDENTIALS’ın secret değerine olarak kaydediyorum. Sonra da AZURE_SUBSCRIPTION adında yeni bir secret tanımı da daha yapıyorum ve değerini de adından da anlaşılacağı üzere kullandığım Azure Subscription’ın ID değeri olarak belirliyorum (Resim-3).

Resim-3

Secret değerlerini hazır ettikten sonra sırada workflow için gerekli olan yaml dosyasını hazırlamak kaldı. GitHub Repo üzerindeki Actions sekmesinde hazır template’ler bulabileceğiniz gibi, kendiniz de sıfırdan yazmayı tercih edebilirsiniz. Resim-4‘te de göreceğiniz gibi uzun bir yml olmayacağı için sıfırdan yazmayı tercih ediyorum.

Resim-4

İlk olarak 2 tane klasör oluşturacağım. Bunlardan ilki .github, sonra da bu klasör içerisinde workflows. Klasör isimleri önemli, ama klasör içerisindeki dosyaya istediğiniz ismi verebilirsiniz. Burada action’ın push sonrasında otomatik olarak devreye girmesi için on: push olarak belirtiyorum. Sonra da aşamaları adım adım ekliyorum.

  1. Secret olarak tanımladığım credentials ile Azure’a login oluyorum.
  2. Kaynak kodları checkout ile indiriyorum.
  3. Deployment için scope, subscriptionId (secrets altında tanımlamıştım) , region değerleri ile template ve parametre dosyalarını tanımlıyorum.

Bu şekilde commit ve push yaptığımda ise, repo altındaki Actions sekmesine geldiğimde, deployment’ın otomatik başladığını görebiliyorum (Resim-5).

Resim-5

Bir daha detayına bakmak istersem de, yaml üzerinde tanımladığım adımları burada da detaylı olarak görebiliyorum (Resim-6).

Resim-6

Deployment detaylarını, Azure Portal üzerinden ilgili Subscription’a gelerek, Settings/Deployments sekmesinden de takip edebilirsiniz.

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

Referanslar

www.mshowto.org 

Bicep documentation | Microsoft Docs

GitHub – mertyeter/bicep-samples

TAGs: Azure, Yazılım Geliştiriciler için Azure, Bicep, ARM Templates, JSON, Azure Resource Manager, IaC, Infrastructure as Code, VS Code, Visual Studio Code, Azure CLI, bicep nedir, bicep, GitHub, GitHub Actions

 

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    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!

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

Yazarın Profili
İlginizi Çekebilir

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