Azure DevOps Pipelines ile self-hosted sunucumuza CI/CD pipeline oluşturma (Agent Pool)

Şevket Yılmaz
Kodiks
Published in
3 min readAug 14, 2021
Azure DevOps Pipelines Icon

Merhaba, bu makalede kendi sunucumuzda barındırdığımız bir uygulama için Azure DevOps üzerinde pipeline oluşturma adımlarından bahsedeceğiz.

➀ Agent oluşturma adımları

🔷 PAT(Personel Access Token) Oluşturma

Azure DevOps’a giriş yaptığımızda aşağıda görülen açılır menüden token sayfasına gidiyoruz.

Personel access tokens
New Token

Yeni bir token oluşturuyoruz..

Create a new personel access token

Burada oluşan token değerini not alınız!

🔷 Agent Pool Oluşturma

Azure DevOps’da ‘Organization settings’ menüsüne,

ardından ‘Agent pools’ alt menüsüne gidiyoruz.

Yeni bir pool oluşturulabilir veya Default pull üzerine tıklayarak “New Agent” ekranı açılır.

Biz şuan Linux üzerinde çalışıyoruz ve burada yer alan Download linkini kullanarak sunucumuzda agent oluşturmak için gerekli dosyaları indireceğiz. Diğer işletim sistemleri için de benzer şekilde işlem yapılıyor. Şimdi sunucu tarafına geçiyoruz..

🔷 Agent Pool Oluşturma

  • Sunucuda agent için bir klasör oluşturuyoruz
    mkdir azure-agent && cd azure-agent
  • Dosyamızı indiriyoruz
    wget https://vstsagentpackage.azureedge.net/agent/2.190.0/vsts-agent-win-x64-2.190.0.zip
  • Zip’den çıkarıyoruz
    tar zxvf vsts-agent-win-x64-2.190.0.zip
  • Config scriptimizi çalıştırıyoruz, az önce oluşturduğumuz token’a burada ihtiyacımız var.
    ./config.sh
  • ./run.sh komutu ile agent manuel çalıştırılır. (Bu şekilde manuel çalıştırma test aşamasında kullanılabilir, bunu bir servis haline nasıl getireceğimiz aşağıdaki başlıkta yer almaktadır)

Eğer buraya kadar bir sorun ile karşılaşmamışsak, Azure DevOps’da oluşturduğumuz Agent Pool’un Agents menüsü altında agentı Online olarak görebiliriz.

🔷 Linux üzerinde Agent’ı servis olarak çalıştırma

  • azure-agent dizinine aşağıdaki şekilde izin tanımlanmalı
    sudo chown -R interpress001 azure-agent/
  • svc.sh scripti kullanılarak servis kurulur ve başlatılır
    sudo ./svc.sh install
    sudo ./svc.sh start
    sudo ./svc.sh status

Not: Ayrıca Agent bir docker container olarak da çalıştırılabilir.

➁ Pipeline oluşturma adımları

Azure DevOps üzerinde Pipelines menüsüne girip New Pipeline butonuna tıklıyoruz.

Açılan ekranda “Use the classic editor“ seçeneği ile ilerliyoruz.

Kaynak kodumuzu seçip açılan ekranda üstte yer alan “Empty job” seçeneği ile ilerliyoruz.

Açılan ekranda pipeline için bir isim veriyoruz ve Agent pool sekmesinde yeni oluşturduğumuz agent’ın bulunduğu Agent pool’u seçiyoruz.

Şimdi “+” işaretine tıklayarak pipeline’a bir task ekliyoruz.

Burada Azure DevOps Pipeline üzerinde çalışabilecek task çeşitleri listelenmekte. Kullandığımız ortam/sistem gereksinimlerimize göre task’larımızı seçerek pipeline çalıştığında projemizi derlemek ve yayınlamak için gerekli adımları tanımlıyoruz.

Örneğin aşağıdaki gibi bir bash script task’ı ekleyerek sunucumuzda komutlar çalıştırabiliriz.

Task çeşitleri hakkında bilgi edinmek için bu bağlantıyı inceleyebilirsiniz.

Ayrıca birden fazla agent oluşturup, burada tanımlayacağımız adımların hangi agent üzerinde çalışacağını belirterek birden fazla sunucu üzerinde aynı pipeline ile işlem yapabiliriz.

Okuduğunuz için teşekkürler!

Bu yazı sizin için faydalı olduysa, Medium ve Twitter’dan bizleri takip edebilirsiniz. Tartışmak istediğiniz herhangi bir sorunuz veya uygulama fikriniz varsa, bizimle e-posta yoluyla iletişime geçmekten çekinmeyin.

--

--