AMP • TR
DevOps nedir, CI/CD pipeline nasıl kurulur? Yazılım geliştirme süreçleri, otomasyon araçları, konteyner teknolojileri ve DevOps best practices rehberi 2026.
DevOps ve CI/CD, modern yazılım geliştirme dünyasının temel taşlarıdır. 2026 yılında platform engineering, GitOps, AI destekli pipeline'lar ve güvenlik odaklı DevSecOps yaklaşımları ön plana çıkıyor. Bu kapsamlı rehberde DevOps kültürünü, CI/CD pipeline aşamalarını, en popüler araçları ve konteyner teknolojilerini detaylı şekilde inceleyeceğiz.
DevOps, Development (Geliştirme) ve Operations (Operasyon) kelimelerinin birleşimidir. Yazılım geliştirme ve IT operasyonları arasındaki duvarları yıkarak, sürekli teslimat ve sürekli iyileştirme kültürü oluşturan bir yaklaşımdır.
DevOps'un temel ilkeleri:
DevOps süreci, sürekli tekrarlanan bir döngü olarak tasarlanmıştır:
CI, geliştiricilerin kodlarını sık sık paylaşılan bir depoya entegre etmesi sürecidir. Her entegrasyonda otomatik derleme ve test adımları çalıştırılır.
CI'ın faydaları:
Örnek CI Pipeline Adımları:
Continuous Delivery (Sürekli Teslimat), kodun her zaman dağıtılabilir durumda tutulmasıdır. Üretim ortamına dağıtım için manuel onay gerekir.
Continuous Deployment (Sürekli Dağıtım), testlerden geçen her değişikliğin otomatik olarak üretim ortamına dağıtılmasıdır.
CD Pipeline Adımları:
2026'nın en popüler CI/CD araçları:
| Araç | Avantajlar | Kullanım Alanı | |------|-----------|----------------| | GitHub Actions | GitHub ile tam entegrasyon, kolay YAML yapılandırma | Açık kaynak ve GitHub projeler | | GitLab CI/CD | Tek platform, dahili container registry | Kurumsal projeler | | Jenkins | Geniş plugin ekosistemi, esneklik | Büyük ölçekli projeler | | ArgoCD | Kubernetes-native, GitOps odaklı | Kubernetes dağıtımları | | CircleCI | Hızlı başlangıç, paralel çalıştırma | SaaS projeler | | Tekton | Cloud-native, Kubernetes üzerinde çalışır | Mikroservis mimarisi |
name: CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- run: npm run lint
- run: npm run test
- run: npm run build
deploy:
needs: build-and-test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy to Production
run: |
echo "Deploying to production..."
stages:
- build
- test
- security
- deploy
build:
stage: build
image: node:20-alpine
script:
- npm ci
- npm run build
artifacts:
paths:
- dist/
test:
stage: test
script:
- npm run test:coverage
coverage: '/Statements\s*:\s*(\d+\.?\d*)%/'
security-scan:
stage: security
script:
- npm audit --audit-level=high
- trivy image $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
deploy-production:
stage: deploy
only:
- main
script:
- kubectl apply -f k8s/
Docker, uygulamaları izole edilmiş konteynerler içinde çalıştırmayı sağlayan bir platformdur.
Docker'ın avantajları:
Optimize Edilmiş Dockerfile Örneği:
# Multi-stage build
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
FROM node:20-alpine AS runtime
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
EXPOSE 3000
USER node
CMD ["node", "dist/main.js"]
Kubernetes, konteynerleştirilmiş uygulamaların otomatik dağıtımını, ölçeklenmesini ve yönetimini sağlayan bir orkestrasyon platformudur.
Kubernetes temel bileşenleri:
Kubernetes Deployment Örneği:
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
selector:
matchLabels:
app: web-app
template:
metadata:
labels:
app: web-app
spec:
containers:
- name: web-app
image: myregistry/web-app:v1.2.0
ports:
- containerPort: 3000
resources:
requests:
memory: "128Mi"
cpu: "250m"
limits:
memory: "256Mi"
cpu: "500m"
livenessProbe:
httpGet:
path: /health
port: 3000
initialDelaySeconds: 10
Terraform, altyapıyı kod olarak tanımlamayı ve yönetmeyi sağlayan HashiCorp'un açık kaynak aracıdır.
Terraform avantajları:
Terraform Örneği:
resource "aws_ecs_service" "web_app" {
name = "web-app-service"
cluster = aws_ecs_cluster.main.id
task_definition = aws_ecs_task_definition.web_app.arn
desired_count = 3
launch_type = "FARGATE"
network_configuration {
subnets = var.private_subnets
security_groups = [aws_security_group.ecs.id]
}
load_balancer {
target_group_arn = aws_lb_target_group.web_app.arn
container_name = "web-app"
container_port = 3000
}
}
Ansible, yapılandırma yönetimi ve uygulama dağıtımı için kullanılan bir otomasyon aracıdır. Agentless mimarisi ile sunuculara SSH üzerinden bağlanarak görevleri yerine getirir.
Prometheus, metrik toplama ve uyarı sistemi; Grafana ise görselleştirme platformudur. Birlikte kullanıldığında güçlü bir izleme çözümü sunarlar.
İzlenmesi gereken temel metrikler:
Merkezi log yönetimi için popüler çözümler:
DevSecOps, güvenliği yazılım geliştirme sürecinin her aşamasına entegre eden yaklaşımdır. "Shift-left security" prensibiyle güvenlik testleri mümkün olduğunca erken başlatılır.
DevSecOps uygulamaları:
DevSecOps hakkında daha detaylı bilgi için DevSecOps Uygulama Rehberi yazımıza göz atabilirsiniz.
Büyük üç bulut platformunun DevOps hizmetleri:
Bulut bilişim ve yazılım geliştirme hakkında detaylı rehberimizi de incelemenizi öneriyoruz.
Popüler deployment stratejileri:
GitOps, Git deposunu tek kaynak (single source of truth) olarak kullanarak altyapı ve uygulama dağıtımını yöneten bir yaklaşımdır.
GitOps araçları:
Platform Engineering, 2026'nın en önemli DevOps trendlerinden biridir. Geliştirici deneyimini iyileştirmek için dahili geliştirici platformları (IDP) oluşturulur.
Platform Engineering bileşenleri:
2026 yılında öne çıkan DevOps trendleri:
Web geliştirme trendleri 2025 yazımızda da güncel yazılım trendlerini inceleyebilirsiniz.
DevOps, yazılım geliştirme (Development) ve IT operasyonlarını (Operations) birleştiren bir kültür, pratik ve araç setidir. Yazılım teslimat hızını artırır, hata oranını düşürür ve ekipler arası işbirliğini güçlendirir. Otomasyon sayesinde tekrarlayan görevler ortadan kaldırılır ve ekipler değer üreten işlere odaklanır.
CI/CD pipeline kurmak için şu adımları izleyebilirsiniz: İlk olarak bir versiyon kontrol sistemi (Git) kullanın. Ardından GitHub Actions, GitLab CI veya Jenkins gibi bir CI/CD aracı seçin. Pipeline'ınızda build, test, güvenlik taraması ve deployment aşamalarını tanımlayın. YAML dosyaları ile pipeline yapılandırmanızı kod olarak yönetin. Başlangıçta basit tutun ve zamanla karmaşıklığı artırın.
Docker, uygulamaları konteynerlere paketleme ve çalıştırma platformudur. Tek bir sunucuda konteyner oluşturma, çalıştırma ve yönetme işlemlerini yapar. Kubernetes ise bu konteynerleri birden fazla sunucu üzerinde orkestre eden bir platformdur. Otomatik ölçeklendirme, load balancing, self-healing ve rolling update gibi özellikler sunar. Kısaca Docker tek konteyner, Kubernetes çoklu konteyner yönetimi sağlar.
DevSecOps, güvenliği DevOps süreçlerinin her aşamasına entegre eden yaklaşımdır. Uygulamak için: CI/CD pipeline'a SAST ve DAST araçları ekleyin, bağımlılık taraması yapın, konteyner imajlarını güvenlik açısından tarayın, gizli verileri vault çözümleriyle yönetin ve Infrastructure as Code güvenlik politikaları belirleyin. "Shift-left" prensibiyle güvenlik testlerini geliştirme sürecinin en başına taşıyın.
GitOps, Git deposunu tüm altyapı ve uygulama yapılandırmasının tek kaynağı (single source of truth) olarak kullanan bir yaklaşımdır. Geleneksel CI/CD'de pipeline push-based çalışırken, GitOps'ta bir operator (ArgoCD, Flux) sürekli olarak Git deposundaki istenen durumu mevcut durumla karşılaştırır ve farklılıkları otomatik düzeltir (pull-based). Bu sayede daha güvenli, denetlenebilir ve geri alınabilir dağıtımlar sağlanır.
DevOps ve CI/CD, 2026'da yazılım geliştirme süreçlerinin vazgeçilmez unsurlarıdır. Platform engineering, GitOps, AI destekli otomasyon ve DevSecOps yaklaşımları, yazılım ekiplerinin daha hızlı, güvenli ve verimli çalışmasını sağlıyor. Başarılı bir DevOps dönüşümü için doğru araçları seçmek kadar, ekip kültürünü ve süreçleri de dönüştürmek büyük önem taşır.
Cesa Yazılım olarak, DevOps danışmanlığı, CI/CD pipeline kurulumu, konteyner mimarisi ve bulut altyapı çözümleri konusunda uzman ekibimizle hizmetinizdeyiz. Projeleriniz için bizimle iletişime geçin.