Red Hat Openshift Pipelines

Red Hat Openshift Pipelines

02 Haz 2022

Hazırlayan: Sultan Öztürk – SEKOM SD-X & Bulut Teknolojileri Mühendisi

CI/CD Nedir?

Red Hat, CI/CD süreçlerini “uygulamaların oluşturulması, test edilmesi ve devreye alınması aşamalarını otomasyona bağlayan süreç” olarak özetliyor. Eski düzenlerde yazılım ekipleri ve diğer birimler arasında iş süreçleri manuel yapılıyor ve bu durum karmaşaya sebep oluyordu. İş süreçlerinin otomasyona bağlanmasıyla bu karmaşanın önüne geçmek hedeflendi. Böylelikle CI/CD kavramı ortaya çıkmış oldu.

Sekom | Red Hat Openshift Pipelines

CI, geliştiriciler için bir otomasyon süreci olan sürekli entegrasyonu ifade ediyor. Başarılı CI, bir uygulamada yapılan yeni kod değişikliklerinin düzenli olarak oluşturulduğu, test edildiği ve paylaşılan bir havuzda birleştirildiği anlamına geliyor. Bu, aynı anda geliştirilmekte olan bir uygulamanın birbiriyle çelişen çok fazla branch’e sahip olma sorununa da çözüm getiriyor.

CD ise bazen birbirinin yerine de kullanılabilen ilgili kavramlar olarak Continuous Deployment ve/veya Continuous Delivery anlamına geliyor. Bu kavramların her ikisi de bir pipeline’ın sonraki aşamalarını otomatikleştirmek ile ilgilidir. Continuous Delivery, genellikle uygulamadaki değişikliklerin otomatik olarak hata testinden geçirildiği ve daha sonra operasyon ekipleri tarafından üretim ortamına dağıtılabileceği bir havuza yüklendiği süreç anlamına geliyor. Bu durum, geliştirme ve iş ekipleri arasındaki iletişim sorununu çözme konusunda yararlı bir süreç olarak karşımıza çıkarken, kodu dağıtmak için minimum çaba sarf edilmesini de sağlıyor.

Continuous Deployment ise bir geliştiricinin yaptığı değişiklikleri, uygulamanın müşteriler tarafından kullanılabilir olduğu ortama otomatik olarak aktarılması anlamına geliyor. Bu da manuel süreçlerle operasyon ekiplerinin aşırı yüklenmesi sorunlarını gideriyor.

Cloud-Native CI/CD Nedir?

Cloud-native çok kapsamlı bir kavram olmakla birlikte CI/CD süreçlerindeki en önemli maddeleri, container altyapısına uygun olması, serverless olması ve DevOps ekiplerince bu altyapılara uygun şekilde tasarlanmış olmasıdır. Container altyapısında olması, Kubernetes tarafından orkestra edilen uygulamaları şekline uygun çalıştırabileceğiniz anlamına gelir. Serverless olması, merkezi bir CI motorun bakımına ihtiyaç duymadan, istekler üzerinde çalıştırılıp ölçeklendirilmesine olanak sağlarken, bu sırada DevOps ekipleriniz de mikroservis altyapısına uygun şekilde tasarımlar yaratabilir ve işlerin ekiplerce paylaşılabilir olmasını kolaylaştırır.

Openshift Pipelines ve Tekton

Pipeline yaratmak için Jenkins, JenkinsX ve Spinnaker gibi ürün seçenekleri mevcut fakat Openshift, bir operatör yardımıyla kurularak kullanılan, altyapısında cloud-native özellikte, güçlü ve esnek olarak tasarlanmış Tekton ürününü, kendi platformu üzerinde ayrıcalıklar ve ek platform özellikleri ile donatarak Openshift Pipelines çözümünü sunmaktadır.

Sekom | Red Hat Openshift Pipelines

Openshift Pipelines, build pipeline’larınızı oluşturmayı kolaylaştırır. Burada CRD’ler (Custom Resource Definitons) kullanarak, bir pipeline‘ı farklı projelerde yeniden kullanabilirsiniz. Tekton Step, Task, Pipeline, TaskRun ve PipelineRun gibi bileşenlerden oluşur.

Sekom | Red Hat Openshift Pipelines

Step, kodunuzda gerçekleştirdiğimiz işlemlerden biridir. Bu işlemler unit test olabilir, kodun mevcut kodlama standartlarına uygunluğunu kontrol işlemi olabilir, herhangi bir command veya script içeriyor olabilir. Yani stepler, Tekton’daki en temel görevlerdir.

Task’lar, stepler toplamıdır. Bu task’lar paylaşılabilir bir ortama sahip olmanızı sağlayan Kubernetes podlarında çalıştırır. Bir task’a bir volume mount eder ve bütün steplerde bunu kullanabilirsiniz. Tasklar, Custom Resource olarak tanımlanabilirler. Her task bir pod içerisinde çalışır, bu yüzden de standart kullanımda bir pipeline’a ait tasklar aralarında data paylaşmazlar. Data paylaşmaları için bunu ayrıca şu task kullanacak veya sen bir önceki task’ın çıktısını kullanacaksın diye ayrıca belirtmek gerekir.

Pipeline ise task’lar bütünüdür yani uç uca eklenmiş task’lar bir pipeline oluşturur. Bir pipeline içerisindeki task’lar art arda veya paralel çalıştırılabilirler. Tekton, geliştiricilere taskların nasıl ve ne zaman çalışması gerektiği konusunda esneklik sağlar, mesela kendinden sonrakini başlatmak için bir task’ın karşılaması gereken koşulları belirtebilirsiniz. Pipeline’lar da aynı şekilde Custom Resource olarak tanımlanabilirler.

Pipeline, girdileri ve çıktıları olan bir süreçtir. Her task ve pipeline’nın kendine özel girdi ve çıktıları olacaktır. Tekton pipeline’larının yeniden kullanılabilir olmasının güzel yanı, bir uygulama oluşturmak, test etmek ve paketlemek için yazdığınız o pipeline’ı, aynı işlem hattına sahip farklı bir girdi için de kullanılabilecek olmanızdır. Örneğin, pipeline için girdi olarak bir git deposu ve çıktı olarak da bir imaj istiyorsunuz ve gerekli ise bunu farklı kod tabanlı uygulamalarınız için yeniden kullanabiliyorsunuz. Buradaki git, registry veya diğer özellikli bilgiler PipelineRun sırasında önceden tanımladığınız CRD’ler veya çalıştırırken tanımladığınız parametreler olarak alınır ve kullanılırlar.

Sekom | Red Hat Openshift Pipelines

Dönüşümünüzü verimli kılmak için deneyimli Sekom SD-X & Cloud ekibimizle iletişime geçin!



Diğer Yazılarımız

Servis Sağlayıcı Ağ ve Network Çözümleri: Operatörler İçin Yeni Nesil Mimari


Cisco SD-Access ile Kampüs Ağlarında Segmentasyon ve Otomasyon


Juniper Apstra ile Intent-Based Veri Merkezi Otomasyonu


Tüm yazıları gör

Diğer Yazılarımız

Sekom | Servis Sağlayıcı Ağ ve Network Çözümleri: Operatörler İçin Yeni Nesil Mimari
Servis Sağlayıcı Ağ ve Network Çözümleri: Operatörler İçin Yeni Nesil Mimari

Servis sağlayıcı ağları, kurumsal ağlardan çok farklı bir baskı altında çalışır. Bir işletmenin ağında birkaç bin kullanıcı ve birkaç yüz uygulama akışı olabilirken, bir operatörün...

Devamını Oku
Sekom | Cisco SD-Access ile Kampüs Ağlarında Segmentasyon ve Otomasyon
Cisco SD-Access ile Kampüs Ağlarında Segmentasyon ve Otomasyon

Kampüs ağları, veri merkezi ağlarından farklı bir zorluk seti sunar. Yüzlerce erişim anahtarı, kablosuz erişim noktaları, farklı kullanıcı grupları ve sürekli hareket eden cihazlar söz...

Devamını Oku
Sekom | Red Hat: Açık Kaynak Kurumsal Altyapı Çözümlerinin Lideri
Red Hat: Açık Kaynak Kurumsal Altyapı Çözümlerinin Lideri

Red Hat, firmalara açık kaynak kodlu yazılım çözümleri sunan bir IBM bilişim alt şirketidir. Bob Young ve Marc Ewing tarafından 1993 yılında kurulan şirketin merkezi...

Devamını Oku
Sekom | Splunk Nedir? Verinin Karmaşasını Rekabet Avantajına Nasıl Dönüştürürsünüz?
Splunk Nedir? Verinin Karmaşasını Rekabet Avantajına Nasıl Dönüştürürsünüz?

Günümüzün dijital dünyasında her cihaz, uygulama ve ağ saniyede devasa boyutlarda veri üretir. Ancak bu makine verisi genellikle karmaşık, yapılandırılmamış ve anlamlandırılması zor bir yığından...

Devamını Oku
Sekom | Veri Merkezi Network Çözümleri: Modern Altyapılar İçin Yol Haritası
Veri Merkezi Network Çözümleri: Modern Altyapılar İçin Yol Haritası

Bir veri merkezinin başarısı artık sadece sunucu sayısıyla ya da depolama kapasitesiyle ölçülmüyor. İşin görünmeyen ama en kritik parçası, tüm bu kaynakları birbirine bağlayan ağ...

Devamını Oku
Sekom | Claroty Nedir OT/IoT Güvenliğinde Yeni Bir Çağ
Claroty Nedir OT/IoT Güvenliğinde Yeni Bir Çağ

Claroty, endüstriyel, sağlık ve kurumsal ortamlardaki kritik altyapıları koruyan lider siber güvenlik platformudur. XIoT varlıklarını görünür kılın, riskleri yönetin ve operasyonel dayanıklılığınızı artırın.

Devamını Oku

“Building Digital Future”

Sekom olarak, müşterilerimizin ve çalışanlarımızın memnuniyetini her zaman ön planda tutan, uzman, köklü ve güvenilir bir dijital dönüşüm entegratörüyüz.

Keşfet
Wireskop Carrier-grade service orchestration and intelligence platform UC Toolbox End-to-end visibility for Unified Communications Clarity Integrated Network and Infrastructure Observability platform
Sekans Centralized DHCP and IP address management solution Kognosphere Centralized DPI management and orchestration platform Autosphere Enterprise-scale IT automation and orchestration platform
For more information, feel free to contact us.
Wireskop Operatör seviyesinde servis orkestrasyonu ve zeka platformu UC Toolbox Birleşik İletişim altyapıları için uçtan uca görünürlük Clarity Bütünleşik Ağ ve Altyapı Gözlemlenebilirlik Platformu
Sekans Merkezi DHCP ve IP adres yönetimi çözümü Kognosphere Merkezi DPI yönetimi ve orkestrasyon platformu Autosphere Kurumsal ölçekte BT otomasyon ve orkestrasyon platformu
Daha fazla bilgi için lütfen bizimle iletişime geçin.