Docker vs Podman
Konteynerleştirme dünyasında endüstri standardı Docker ile daemonless yaklaşımlı Podman karşı karşıya. Güvenlik, kurumsal uyumluluk ve günlük kullanım açısından hangisi öne çıkıyor?
GitHub'a entegre CI/CD platformu
Açık kaynak otomasyon sunucusu
# GitHub Actions — Node.js CI/CD pipeline
name: CI/CD Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test
- run: npm run build
deploy:
needs: test
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
- run: echo "Production'a deploy ediliyor..."// Jenkins — Declarative Pipeline (Jenkinsfile)
pipeline {
agent any
tools {
nodejs '20'
}
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Bağımlılıklar') {
steps {
sh 'npm ci'
}
}
stage('Test') {
parallel {
stage('Unit') { steps { sh 'npm test' } }
stage('Lint') { steps { sh 'npm run lint' } }
}
}
stage('Build') {
steps { sh 'npm run build' }
}
stage('Deploy') {
when { branch 'main' }
steps { sh './scripts/deploy.sh' }
}
}
post {
failure { mail to: '[email protected]', subject: 'Build Başarısız' }
}
}GitHub Actions, GitHub kullanan modern ekipler için bakım maliyeti düşük ve güçlü bir tercih. Jenkins ise platform bağımsızlığı, tam veri kontrolü ve kurumsal özelleştirme gerektiren büyük organizasyonlarda hâlâ vazgeçilmez. Yeni projelerde GitHub Actions ile başlamak ve karmaşıklık arttıkça değerlendirme yapmak önerilen yaklaşım.
Public repository'ler için tamamen ücretsizdir. Private repo'larda aylık ücretsiz dakika limiti vardır (2000 dakika/ay). Aşıldığında dakika başına ücret ödenir. Self-hosted runner kullanırken compute ücret alınmaz.