DEV Community

Cover image for CI-CD
Mustafa Emre Başar
Mustafa Emre Başar

Posted on

CI-CD

CI/CD

  • Deployment süreçlerindeki tekrar eden işleri otomatize etmek için kullanılır.
  • İnsan payını en az indirmeyi amaçlar ve hızlı bir gelişim süreci sağlar.
  • Paketin kullanıcıya sunmaya ne derecede hazır olduğunu denetler.
  • Integration ve Delivery aşamalarından oluşur.

Continuous Integration

  • Kaynak kod üzerinde değişiklik yapıldıktan sonra sistemin çalışır durumda olduğunu ve değişikliğin sorun yaratmadığını tespit etmek için kullanılır.
  • Sorun halinde gerekli kişilerin bilgilendirilmesi sağlanır.
  • Bir uygulamadaki değişiklikler birleştirildiğinde, değişikliklerin uygulamayı bozmadığından emin olmak için uygulamayı otomatik olarak oluşturarak ve farklı düzeylerde testler ile doğrular.

Continuous Delivery

  • Başarılı olan bir yapının bir ortama ototmatik olarak aktarılmasıdır.
  • Yeni bir sürüm dağıtıldığında geçici kesintilerden etkilenmeyecek şekilde tasarlanmalıdır.

CI/CD

  • Değişiklikler günde birçok kez ana kod dalında birleştirir
  • Her kod, otomatik bir kod oluşturma ve test sırasını tetiklemek için birleştirilir
  • Sistem tekrar eden sürümleri destekleyecek şekilde tasarlanmalıdır.
  • Sorunları gerçek zamanlı olarak tespit etmeye çalışılmalıdır.
  • Kod test odaklı geliştirmeye çalışılmalıdır.
  • Çeşitli araçlar yardımıyla entgre edilir. Bunlar; Jenkins, TeamCity, GitLab, CircleCI

Faydaları

  • Otomatik dağıtım ve testler gerçekleştirerek verimliliği artırır.
  • En son yazılım sürümünü destekleyerek risklere karşı önlem alır.
  • Teslim süreleri kısalır.
  • Kaynak daha verimli kullanılır.

Top comments (0)