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

Red Hat OpenShift: Kubernetes’ten Kurumsal Platforma Geçiş Rehberi


BGP Nedir? Rota Anonsları ve İnternetin Omurgası


AI Datacenter Network Mimarisi | En Hızlı GPU’lar Neden Yetmez: AI İş Yüklerinde Ağ Altyapısının Belirleyici Rolü


Tüm yazıları gör

Diğer Yazılarımız

Sekom | Red Hat OpenShift: Kubernetes'ten Kurumsal Platforma Geçiş Rehberi
Red Hat OpenShift: Kubernetes’ten Kurumsal Platforma Geçiş Rehberi

Red Hat OpenShift, açık kaynaklı Kubernetes orkestrasyonunu temel alarak, bu teknolojiyi kurumsal standartlarda bir uygulama platformuna dönüştüren kapsamlı bir çözüm ekosistemidir.

Devamını Oku
Sekom | BGP Nedir? Rota Anonsları ve İnternetin Omurgası
BGP Nedir? Rota Anonsları ve İnternetin Omurgası

Border Gateway Protocol (BGP), on binlerce bağımsız ağı birbirine bağlayan ve veri trafiğini yönlendiren internetin temel protokolüdür.

Devamını Oku
Sekom | Yapay Zekâda Güvenilirlik ve Kontrol: Guardrail Tabanlı Güvenlik Yaklaşımı
Yapay Zekâda Güvenilirlik ve Kontrol: Guardrail Tabanlı Güvenlik Yaklaşımı

Yapay zekâ güvenliğinde Guardrail ve Red Teaming yaklaşımlarını keşfedin. AI risklerini kontrol altına alın, regülasyonlara uyum sağlayın.

Devamını Oku
Sekom | Cloud Collaboration Güvenli mi? Cloud mu On premise çözüm mü?
Cloud Collaboration Güvenli mi? Cloud mu On premise çözüm mü?

Cisco’nun güvenlik çözümleriyle bulutta iş birliği güvenli. Cloud, on-premise ya da hibrit çözümler için lisanslama avantajlarını keşfedin.

Devamını Oku
Sekom | Cisco İş Birliği Çözümleri - Modern İş Dünyasında Bağlantının Yeni Tanımı
Cisco İş Birliği Çözümleri – Modern İş Dünyasında Bağlantının Yeni Tanımı

Cisco iş birliği çözümleri hibrit çalışmayı, iletişimi geliştirin. Sekom’un Cisco Gold Partner uzmanlığıyla geleceğe hazır olun.

Devamını Oku
Sekom | Gözlemle, Ölç, Yönet - Sekom’un Uçtan Uca Monitoring Mühendisliği
Gözlemle, Ölç, Yönet – Sekom’un Uçtan Uca Monitoring Mühendisliği

Açık kaynak tabanlı gözlemlenebilirlik, otomasyon ve ölçeklenebilir mimarisi ile altyapınızı güçlendirin. Sekom’un yaklaşımını keşfedin!

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.