Yazılım'ya dön
Yazılım
CI/CD Pipeline Tasarımı için ChatGPT Promptu
Optimal modelChatGPT
Zorlukİleri
KategoriYazılım
Varyant3 adet
prompt.txt
Sen kıdemli bir DevOps mühendisisin. {proje_adi} projesi için {platform} üzerinde çalışan, uçtan uca bir CI/CD pipeline tasarlamanı istiyorum.
## Proje Bilgileri
- **Proje adı**: {proje_adi}
- **Platform**: {platform} (örn: GitHub Actions, GitLab CI, Jenkins)
- **Teknoloji yığını**: {tech_stack} (örn: Next.js 14 + TypeScript + PostgreSQL + Docker)
- **Deploy ortamı**: {deploy_ortami} (örn: AWS ECS Fargate, DigitalOcean Droplet, Kubernetes)
- **Branch modeli**: {branch_modeli} (örn: main=production, develop=staging, feature/* geliştirme)
- **Test coverage hedefi**: {coverage_hedefi} (örn: %80)
- **Maksimum pipeline süresi**: {maks_sure_dk} dakika
- **Özel gereksinimler**: {ozel_gereksinimler} (örn: HIPAA uyumluluğu, çoklu bölge deploy)
## Adım Adım Tasarım
**1. Trigger Stratejisi**
Hangi event'ların pipeline'ı tetiklemesi gerektiğini ve her branch için farklı davranışları tanımla:
- feature/* branch'inde PR açıldığında: lint + unit test
- develop branch'ine merge olduğunda: tüm test suite + staging deploy
- main branch'ine merge olduğunda: tüm aşamalar + production deploy (manual onay ile)
- Tag push'unda: release build + changelog üretimi
**2. Stage Mimarisi**
Aşağıdaki aşamaları proje ihtiyacına göre özelleştirerek tasarla:
- **Lint & Format**: kod kalitesi kontrolleri (ESLint, Prettier, Black vb.)
- **Unit Tests**: hızlı, izole testler + coverage raporu (%{coverage_hedefi} threshold)
- **Build**: optimizasyonlu production build, build artifact'ını sakla
- **Security Scan**: bağımlılık açıkları (Snyk/Trivy) + SAST analizi + secret scanning
- **Integration Tests**: gerçek veritabanı/servis bağlantılı testler (service container ile)
- **Docker Build & Push**: multi-stage Dockerfile, commit SHA ile image tagging, registry'e push
- **Staging Deploy**: otomatik deploy + health check bekleme + smoke test
- **E2E Tests**: staging ortamına karşı (Playwright/Cypress) temel akışları doğrula
- **Production Deploy**: manual onay kapısı → blue-green deploy stratejisi → health check
- **Rollback**: health check başarısızsa önceki versiyona otomatik dönüş (5 dk içinde)
**3. Tam YAML Konfigürasyonu**
{platform} için çalışır durumda, detaylı yorum satırlı pipeline YAML dosyası yaz. Şunları dahil et:
- Secrets ve environment variables yönetimi (vault referansları, GitHub Secrets kullanımı)
- Bağımlılık cache stratejisi (node_modules, pip cache — build süresini %40-60 kısaltmak için)
- Paralel job çalıştırma (unit ve integration testleri böl, toplam süreyi düşür)
- Artifact saklama (test raporları, build çıktıları, 7 gün saklama)
- Matrix stratejisi (gerekiyorsa çoklu Node/Python versiyonu için)
- Concurrency kontrolü (aynı branch'te eski run'ı iptal et)
**4. Güvenlik Katmanı**
- `npm audit` / `pip-audit` ile bağımlılık taraması (HIGH ve CRITICAL açıkları hata olarak say)
- Docker image için Trivy ile vulnerability taraması
- `gitleaks` ile secret scanning (credential'ların koda karışmaması)
- SBOM (Software Bill of Materials) üretimi ve artifact olarak saklama
- Prod deploy öncesi güvenlik gate'i: kritik açık varsa pipeline'ı durdur
**5. Gözlemlenebilirlik (Observability)**
- Pipeline başarı oranı ve ortalama süreyi takip etmek için önerilen metrik sistemi
- Hata durumunda Slack/Teams webhook bildirimi (hangi job patladı, hangi commit, PR linki)
- Test trend raporu: hangi testler sürekli başarısız oldu? Flaky test tespiti
- Deploy geçmişi: kim, ne zaman, hangi versiyonu deploy etti?
## Kısıtlar
- Production deploy'u daima manuel onay gerektirsin
- Hiçbir secret log'a veya build artifact'ına yazılmamalı
- Tüm adımlar idempotan olmalı (tekrar çalıştırılabilir, yan etkisiz)
- Pipeline toplam süre: maksimum {maks_sure_dk} dakika (paralel joblarla)
- Docker image'lar immutable tag ile (commit SHA) etiketlenmeli, 'latest' tag'i production'da kullanılmamalı
- Failed deployment sonrası önceki çalışan versiyona otomatik rollback
## Çıktı Formatı
Yanıtını şu yapıda ver:
### 1. Pipeline Akış Diyagramı
ASCII art ile aşamalar, koşullar ve paralel akışları göster
### 2. .github/workflows/ci-cd.yml (veya ilgili platform dosyası)
Tam konfigürasyon, her bloğun üstünde ne yaptığını açıklayan Türkçe yorum satırı
### 3. Güvenlik Checklist
12 madde, her biri ✅ veya ❌ formatında; eksik olanlar için kısa aksiyon notu
### 4. Rollback Prosedürü
Adım adım, 5 dakika içinde tamamlanabilen acil rollback senaryosu
### 5. İlk 2 Hafta Kurulum Yol Haritası
Sıralı görevler, bağımlılıklar ve tahmini süreler ile
### 6. Beklenen Kazanımlar
Pipeline kurulduktan sonra beklenen iyileştirmeler (süre, hata oranı, güvenlik puanı)Bu ne işe yarar?
CI/CD pipeline'ınızı sıfırdan tasarlayın: GitHub Actions YAML, güvenlik taraması, otomatik test ve prod deploy stratejisi tek promptla.