Kerem Yaldız
Dec 10, 2018 · 3 min read

Bitbucket Pipelines, Bitbucket Cloud’un CI sunucusu kurmaya gerek kalmaksızın build, test ve deploy işlemleri yapılmasını sağlayan bir özelliğidir.

Bitbucket Pipelines ne işe yarar?

Bitbucket Pipelines’ın asıl amacı continuous integration sürecini geliştirme ortamına entegre etmektir.

Yapısı gereği herhangi bir continuous integration sunucusuna ihtiyaç duymaz. Ortada bir sunucu olmadığı için kurulum ve yönetim gereksinimleri olmaksızın basit bir konfigrasyon yapılarak continuous integration döngüsünün meyvelerinden yenilebilir.

Peki nedir bu meyveler, neden bunca uğraş?

Continuous Integration nedir?

Continuous integration, geliştiricilerin kodlarını günde birkaç kez ortak bir depoda birleştirmelerini gerektiren bir geliştirme yöntemidir. Diğer bir deyişle yazılım geliştirme sürecinin, belirli bir rutin içinde uygulamanın çalışacağı ortamlar için her kod değişikliğinde ortamlara uygunluğunun denenmesi ve test edilmesidir. Bu sistem sayesinde hatalar erken tespit edilir ve hatalara erken müdehale edilmesi sağlanır.

Artılar:

  • Otomatik testler sayesinde production’a giden bug miktarı azalır.
  • Bütün entegrasyon sorunları erken çözüldüğü için sürüm çıkarmak kolaylaşır.
  • Küçük değişikliklerin bile etkisi hemen fark edilir, bir sorunla karşılaşıldığı anda düzeltilmesi kolaylaşır.
  • Sunucular yüzlerce testi saniyeler içinde yapabildiği için test maliyeti azalır.
  • Otomatik testler sayesinde testlerin çalıştırılmasına ayrılacak vakit geliştirmelere yönlendirilir.

Gereksinimler:

  • Her yeni özellik için otomatikleştirilmiş testler yazılması gerekir.
  • Continuous integration servisine ihtiyaç vardır.
  • Geliştiricilerin yaptığı değişikliklerin mümkün olduğunca sık merge edilmesi gerekir.
  • Continuous integration sunucusunun kurulum ve bakımının yapılması gerekir.

Örnek Kullanım

Öncelikle https://bitbucket.org/ adresinden üye olup giriş yapın.

Get your own repository linkine ya da sol panelde bulunan + simgesi ile Repository butonlarına tıklayın.

Gerekli alanları doldurup Git’in seçili olduğundan emin olarak repository’i oluşturun.

Sonraki adımlarda önceden oluşturup bu blog yazısında anlatmış olduğum örnek projeyi kullanacağım.

Git repository’sini belirtmek ve repository’e pushlamaya hazır hale getirmek için takip eden komutları kendi repository’nize göre düzenleyip çalıştırın:

git add .
git commit -m "Initial Commit"
git remote set-url origin https://teamID@bitbucket.org/teamID/bitbucket-pipelines.git

Repository’i ayarladıktan sonra projeyi pushlamak için takip eden komutu çalıştırın:

git push -u origin master

Sol panelde bulunan Pipelines butonuna tıklayın.

Dil template’lerinden Java (Maven) seçip projemizin paketlenmesi için konfigrasyonu aşağıdaki gibi düzenleyin:

image: maven:3.3.9pipelines:
default:
- step:
caches:
- maven
script:
- mvn package

Konfigurasyonda herhangi bir hata olmadığı onayını aldıktan sonra Commit file butonuna tıklayın.

Butona tıkladıktan sonra işlem otomatik olarak başlayacaktır.

Sonuç sayfasında daha detaylı incelemeler yapabilirsiniz.

Sonuç

Sonuç olarak CI sunucusuna ihtiyaç duymadan Bitbucket Pipelines kullanarak her push işlemi sonrasında konfigrasyonumuza göre aksiyon alacak bir continuous integration döngüsü oluşturduk.

Bizim senaryomuzda paketleme işlemi dışında bir şey yaptırmamış olsak da build, test, deployment, analiz ve bir çoğunu yaptırabiliyorsunuz.

Kod Gemisi

Kod Gemisi

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade