CI/CD Pipeline Mülakat Soruları: 2026 için GitHub Actions, GitLab CI ve Jenkins
GitHub Actions, GitLab CI ve Jenkins için CI/CD pipeline mülakat sorularına hazırlanın. Pratik kod örnekleri, pipeline yapılandırma kalıpları ve 2026 için güvenlik en iyi uygulamaları içerir.

CI/CD pipeline mülakat soruları, 2026 yılında DevOps işe alım süreçlerinde en sık karşılaşılan konular arasında yer alıyor. GitHub Actions günde 71 milyonun üzerinde iş çalıştırıyor ve Haziran 2026'da paralel adım yürütme özelliğini kullanıma sundu. GitLab CI yerleşik Secrets Manager ile 19. sürüme ulaştı ve Jenkins %28 pazar payını korumaya devam ediyor. Mülakatçılar, adaylardan her üç platformda da pratik yetkinlik bekliyor.
CI/CD mülakat sorularının çoğu üç kategoriye ayrılır: pipeline tasarımı (aşamaların ve işlerin yapılandırılması), güvenlik (secret yönetimi, tedarik zinciri güçlendirme) ve sorun giderme (başarısız buildlerin hata ayıklaması, yavaş pipelineların optimizasyonu). En az bir sorunun canlı pipeline yapılandırması gerektirmesi beklenmektedir.
GitHub Actions Workflow Yapısı ve Tetikleyiciler
GitHub Actions, otomasyonu workflow, job ve step kavramları etrafında organize eder. Workflow, otomasyonun ne zaman ve nasıl çalışacağını tanımlayan, .github/workflows/ dizininde saklanan bir YAML dosyasıdır. Her workflow bir veya daha fazla job içerir ve her job ayrı bir runner üzerinde çalışır.
Yaygın bir mülakat sorusu, on tetikleyicileri, job bağımlılıkları ve needs anahtar kelimesi arasındaki ilişkiyi açıklamayı ister.
# .github/workflows/ci.yml
name: CI Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run lint
test:
needs: lint # waits for lint to pass
runs-on: ubuntu-latest
strategy:
matrix:
node: [20, 22] # runs tests on both versions
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: npm
- run: npm ci
- run: npm test
deploy:
needs: test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
environment: production # requires approval
steps:
- uses: actions/checkout@v4
- run: ./deploy.shBu workflow üç temel kavramı göstermektedir: needs anahtar kelimesi joblar arasında bağımlılık grafiği oluşturur, matrix stratejisi Node.js sürümleri arasında paralel test çalıştırmayı sağlar ve environment anahtar kelimesi dağıtımları manuel onay arkasına alır.
GitHub Actions Paralel Adımlar
GitHub Actions, 25 Haziran 2026'da en çok talep edilen özelliklerden birini karşılayarak paralel adım yürütmeyi kullanıma sundu. Daha önce bir job içindeki tüm adımlar sıralı olarak çalışıyordu. Yeni özellik, tek bir job içinde eşzamanlı yürütmeyi sağlayan dört anahtar kelime tanıtıyor.
Paralel joblar izole dosya sistemleriyle ayrı runnerlar kullanır. Paralel adımlar tek bir runneri, checkouti, ortamı ve workspacei paylaşır. Mülakatçılar, adayların bu farkı anlayıp anlamadığını test eder, çünkü bu durum önbellekleme, artifact paylaşımı ve kaynak kullanımını etkiler.
# .github/workflows/parallel-steps.yml
name: Build with Parallel Steps
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
# Run lint and typecheck in parallel
- name: lint
run: npm run lint
background: true
- name: typecheck
run: npm run typecheck
background: true
- wait-all: # wait for both to complete
# Or use the parallel shorthand
- parallel:
- name: build-frontend
run: npm run build:frontend
- name: build-backend
run: npm run build:backend
- run: npm run deploybackground: true anahtar kelimesi bir adımı asenkron olarak başlatır ve hemen bir sonraki adıma geçer. wait-all anahtar kelimesi önceki tüm arka plan adımları tamamlanana kadar yürütmeyi duraklatır. parallel anahtar kelimesi, birden fazla adımı eşzamanlı çalıştıran ve devam etmeden önce tümünün bitmesini bekleyen kısaltılmış bir sözdizimi sağlar.
İki ek anahtar kelime daha bulunmaktadır: wait belirli adlandırılmış arka plan adımlarını hedefler ve cancel artık ihtiyaç duyulmadığında bir arka plan adımını düzgün bir şekilde sonlandırır (uzun süren servisleri durdurmak için kullanışlıdır).
GitLab CI Aşamalarla Pipeline Yapılandırması
GitLab CI, depo kök dizininde bir .gitlab-ci.yml dosyası kullanır. Jobların varsayılan olarak bağımsız çalıştığı GitHub Actions'ın aksine, GitLab CI jobları aşamalara ayırır; aşamalar sıralı olarak çalışırken aynı aşamadaki joblar paralel çalışır.
Mülakatçılar sıklıkla adaylardan bir GitHub Actions workflowunu GitLab CI pipelineına veya tam tersine dönüştürmelerini ister.
# .gitlab-ci.yml
stages:
- validate
- test
- deploy
variables:
NODE_VERSION: "22"
lint:
stage: validate
image: node:${NODE_VERSION}
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
script:
- npm ci
- npm run lint
unit-tests:
stage: test
image: node:${NODE_VERSION}
parallel:
matrix:
- NODE_VERSION: ["20", "22"]
script:
- npm ci
- npm test
artifacts:
reports:
junit: coverage/junit.xml
expire_in: 7 days
deploy-production:
stage: deploy
image: alpine:latest
rules:
- if: $CI_COMMIT_BRANCH == "main"
when: manual # manual gate
environment:
name: production
url: https://app.example.com
script:
- ./deploy.shGitHub Actions'tan temel farklar: aşamalar global yürütme sırasını zorlar, parallel:matrix anahtar kelimesi matrix buildleri işler ve artifacts:reports:junit test sonuçlarını doğrudan merge request görünümlerine entegre eder.
GitLab 19.0 (Mayıs 2026) açık beta olarak Secrets Manager'ı tanıttı ve HashiCorp Vault gibi harici servislere ihtiyaç duymadan yerel secret depolaması sağladı. GitLab 19.2 (Temmuz 2026) zamanlanmış pipeline yürütme politikalarını genel kullanıma sundu ve ekiplerin tek bir politika tanımından birden fazla projede belirli bir kadansta uyumluluk taramaları veya bağımlılık kontrollerini zorunlu kılmasını sağladı.
DevOps mülakatlarında başarılı olmaya hazır mısın?
İnteraktif simülatörler, flashcards ve teknik testlerle pratik yap.
Jenkins Deklaratif Pipeline Sözdizimi
Jenkins, depo kök dizininde saklanan bir Jenkinsfile kullanır. 2026'da varsayılan olarak önerilen deklaratif pipeline sözdizimi, yapılandırılmış hata işleme ve net aşama tabanlı düzen sağlar.
Sık sorulan mülakat sorusu: deklaratif ve betiksel pipelinelar arasındaki farkı ve her birinin ne zaman kullanılacağını açıklayın.
// Jenkinsfile
pipeline {
agent any
tools {
nodejs 'node-22' // configured in Jenkins Global Tool
}
environment {
CI = 'true'
DEPLOY_ENV = credentials('deploy-env-secret')
}
stages {
stage('Install') {
steps {
sh 'npm ci'
}
}
stage('Lint & Test') {
parallel { // parallel execution
stage('Lint') {
steps {
sh 'npm run lint'
}
}
stage('Test') {
steps {
sh 'npm test'
}
post {
always {
junit 'coverage/junit.xml'
}
}
}
}
}
stage('Deploy') {
when {
branch 'main'
}
input {
message 'Deploy to production?'
}
steps {
sh './deploy.sh'
}
}
}
post {
failure {
mail to: 'team@example.com',
subject: "Build failed: ${env.JOB_NAME}",
body: "Check ${env.BUILD_URL}"
}
}
}Deklaratif pipelinelar zorunlu pipeline, agent ve stages blokları aracılığıyla yapı zorlar. Aşama içindeki parallel direktifi lint ve testi eşzamanlı çalıştırır. input direktifi, GitHub Actions ortamları ve GitLab manuel kapılarına benzer şekilde manuel onay için yürütmeyi duraklatır. Jenkins, Ocak 2026 itibarıyla Java 21 gerektirir, bu nedenle pipeline ortamlarının bu runtime bağımlılığını hesaba katması gerekir.
Jenkins 2.574 (Temmuz 2026) ve 2.577 (Ağustos 2026), JUnit, Mailer, Matrix Authorization, Bouncycastle API ve JavaMail API dahil olmak üzere birkaç eklentiyi varsayılan WAR dosyasından çıkardı. Güncelleme merkezi erişimi olmayan sunucuların yükseltmeden önce bu eklentileri manuel olarak yüklemesi gerekir. JUnit eklentisinin kaldırılması, yukarıda gösterilen junit adımını kullanan pipelineları özellikle etkiler.
CI/CD Platformlarında Secret Yönetimi
Her CI/CD mülakatı secret yönetimi hakkında sorular içerir. Her platform kimlik bilgilerini farklı şekilde işler ve güvenlik sonuçlarını anlamak önemlidir.
GitHub Actions secretları depo, ortam veya organizasyon düzeyinde saklar. Secretlar loglarda otomatik olarak maskelenir, ancak mevcut kapsam belirleme modelinin sınırlamaları vardır. 2026 güvenlik yol haritası, kimlik bilgilerini açık yürütme bağlamlarına bağlayan kapsamlı secretları tanıtarak aşırı geniş erişim riskini ele alır.
GitLab CI, koruma kurallarıyla CI/CD değişkenleri sağlar. Korumalı değişkenler yalnızca korumalı dallarda veya taglerde çalışan pipelinelara enjekte edilir. GitLab 19.0 Secrets Manager'ı tanıttı ve ekiplerin harici vaultlara ihtiyaç duymadan secretları yerel olarak saklamasını ve referans vermesini sağladı. Secretlar projelerle veya gruplarla sınırlıdır ve yalnızca açıkça talep eden joblara erişilebilir.
Jenkins, birden fazla kimlik bilgisi türüyle (kullanıcı adı/şifre, SSH anahtarı, gizli metin, sertifika) Credentials eklentisini kullanır. Deklaratif pipelinelardaki credentials() yardımcısı secretları ortam değişkenlerine bağlar ve Folder düzeyindeki kimlik bilgileri belirli projelere erişimi kapsar.
Kritik mülakat cevabı: pipeline dosyalarına asla secret hardkodlamayın, her zaman platformun yerel secret yönetimini kullanın, kimlik bilgilerini düzenli olarak rotate edin ve uzun ömürlü API anahtarları yerine kısa ömürlü tokenları tercih edin.
Pipeline Optimizasyonu ve Önbellekleme Stratejileri
Yavaş pipelinelar geliştirici verimliliğini doğrudan etkiler. Mülakatçılar, adayların CI/CD sistemlerindeki performans darboğazlarını teşhis edip düzeltip düzeltemeyeceklerini test eder.
Her üç platformda da geçerli olan üç evrensel optimizasyon tekniği bulunmaktadır:
Bağımlılık önbellekleme, her çalışmada paketlerin yeniden indirilmesini önler. GitHub Actions actions/cache veya setup actionlardaki yerleşik önbellek desteğini kullanır. GitLab CI, anahtar stratejisiyle cache kullanır. Jenkins, workspace kalıcılığına veya stash/unstash komutlarına dayanır.
Paralel yürütme, işi birden fazla runner arasında böler. GitHub Actions artık hem paralel jobları (matrix stratejisi) hem de paralel adımları (background/parallel anahtar kelimeleri) destekliyor. GitLab CI parallel:matrix kullanır ve Jenkins parallel direktifini kullanır. Doğru bölme ayrıntı düzeyi projeye bağlıdır: çok fazla paralel job runner başlatma süresini boşa harcar, çok az ise kapasiteyi kullanılmamış bırakır.
Koşullu yürütme, gereksiz aşamaları atlar. Her üç platform da bunu destekler: GitHub Actions if ifadeleriyle, GitLab CI rules ile ve Jenkins when direktifleriyle. İyi tasarlanmış bir pipeline, feature branchlerinde dağıtım aşamalarını atlar ve sadece lint değişikliklerinde tam test paketlerini tetiklemekten kaçınır.
CI/CD Pipeline Güvenliği ve Tedarik Zinciri Koruması
CI/CD sistemlerini hedef alan tedarik zinciri saldırıları 2025'te önemli ölçüde arttı ve tj-actions/changed-files ile diğer popüler GitHub Actions olayları yaşandı. Mülakat soruları artık düzenli olarak güçlendirme stratejilerini sorguluyor.
Tag hijacking saldırılarını önlemek için action sürümlerini taglar yerine belirli commit SHA'larına sabitleyin:
# .github/workflows/secure.yml
steps:
# Vulnerable: tag can be moved to malicious commit
- uses: actions/checkout@v4
# Secure: pinned to exact commit SHA
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683GitLab CI, tedarik zinciri endişelerini SLSA Level 1 onayıyla CI/CD bileşenleri (GitLab 18.1'den beri mevcut) aracılığıyla ele alır ve yeniden kullanılabilir bileşenlerden pipelinelar oluştururken daha net köken sağlar. Değişmez container tagları (GitLab 18.2), yayından sonra image değişikliğini önler.
Jenkins için Shared Library mekanizması, branch koruması, code review gereksinimleri ve imzalı commitlerle ayrılmış bir depo kullanmalıdır. Avrupa Komisyonu, platformun kurumsal tedarik zincirlerindeki kritik rolünü yansıtarak YesWeHack aracılığıyla bir Jenkins Bug Bounty Programı başlattı.
Mülakat Hazırlığı için Platformlar Arası Karşılaştırma
| Özellik | GitHub Actions | GitLab CI | Jenkins |
|---|---|---|---|
| Yapılandırma dosyası | .github/workflows/*.yml | .gitlab-ci.yml | Jenkinsfile |
| Yürütme modeli | Paralel adımlarla job tabanlı | Aşama tabanlı (sıralı aşamalar) | Aşama tabanlı (esnek) |
| Runner barındırma | GitHub hosted + self-hosted | GitLab.com paylaşımlı + self-hosted | Yalnızca self-hosted |
| Secret depolama | Depo/Org/Ortam secretları | Secrets Manager + CI/CD değişkenleri | Credentials eklentisi |
| Matrix buildler | strategy.matrix | parallel:matrix | matrix (eklenti) |
| Manuel kapılar | environment + zorunlu inceleyiciler | when: manual | input direktifi |
| Marketplace | Marketplace'te 20.000+ Action | CI/CD Components Catalog | 1.800+ eklenti |
| AI özellikleri | Copilot for Actions | Duo CI Expert Agent | Topluluk eklentileri |
| Fiyatlandırma | Açık depolar için ücretsiz, özel için dakika başına | 400 CI/CD dakikası ücretsiz, sonra kademeli | Ücretsiz (açık kaynak), kendi yönetimli |
Bu karşılaştırma tablosu, mülakatlarda en sık test edilen farkları kapsar. Takip sorusu genellikle şu şekildedir: "Yeni bir proje için hangi platformu seçerdiniz ve neden?" Cevap, mevcut araçlara, ekip boyutuna, uyumluluk gereksinimlerine ve organizasyonun yönetilen altyapıyı (GitHub/GitLab) mı yoksa tam kontrolü (Jenkins) mü tercih ettiğine bağlıdır.
Kaynaklar
- Actions steps can now be run in parallel (GitHub Changelog, Haziran 2026)
- GitLab 19.0 release notes (GitLab Docs, Mayıs 2026)
- GitLab 19.2 release notes (GitLab Docs, Temmuz 2026)
- Jenkins Changelog (Jenkins.io, Ağustos 2026)
- GitHub Actions 2026 Security Roadmap (GitHub Blog)
Bu soruları CI/CD temelleri ve GitHub Actions mülakat modülleriyle pratik yapın veya GitLab CI ve Jenkins özel sorularını keşfedin. Daha geniş DevOps hazırlığı için temel DevOps mülakat soruları rehberi, CI/CD ötesindeki konuların tam kapsamını ele alır.
Pratik yapmaya başla!
Mülakat simülatörleri ve teknik testlerle bilgini test et.
CI/CD Pipeline Mülakatları için Önemli Çıkarımlar
- GitHub Actions paralel adımları (
background,wait-all,parallel) Haziran 2026'da kullanıma sunuldu ve runneri, checkouti ile workspacei paylaşırken tek bir job içinde eşzamanlı yürütmeyi sağladı - GitLab 19.x, yerel Secrets Manager'ı (açık beta, Mayıs 2026) tanıttı ve zamanlanmış pipeline yürütme politikalarını genel kullanıma sunarak (Temmuz 2026) harici araçlara bağımlılığı azalttı
- Jenkins 2.574+, JUnit ve Mailer dahil temel eklentileri WAR dosyasından ayırdı ve güncelleme merkezi erişimi olmayan sunucular için açık kurulum gerektiriyor
- Secret yönetimi, her üç platformda da en sık test edilen güvenlik konusudur: kapsamlı secretlar, korumalı değişkenler ve kimlik bilgisi rotasyon stratejileri bilgisi gösterilmelidir
- Önbellekleme, paralelleştirme ve koşullu yürütme yoluyla pipeline optimizasyonu evrensel olarak geçerlidir ve mülakatçılara pratik üretim deneyimi sinyali verir
- Platform başına en az bir çalışan pipeline yapılandırması hazırlayın ve oyuncak örnekler yerine gerçek dünya kalıplarına odaklanın
Pratik yapmaya başla!
Mülakat simülatörleri ve teknik testlerle bilgini test et.
DevOps kodundaki hatayı bulabilir misin?
Gerçek bir kod parçası, gizli bir hata, günde bir deneme. Denemek için hesap gerekmez.

Yazan:
Anthony Fillion-MailletSharpSkill kurucusu
10 yılı aşkın süredir fullstack geliştirici. SharpSkill’i yönetiyor ve burada yayımlanan her şeyden sorumlu.
24 Ağustos 2026 tarihinde güncellendi
Etiketler
Paylaş
İlgili makaleler

Temel DevOps Mülakat Soruları: Kapsamlı Rehber 2026
CI/CD, Kubernetes, Docker, Terraform ve SRE uygulamaları üzerine bilmeniz gereken DevOps mülakat sorularıyla hazırlıklı olun. Ayrıntılı yanıtlar dahil.

ArgoCD ve GitOps 2026: Kubernetes Continuous Deployment ve Mülakat Soruları
ArgoCD ve GitOps ile Kubernetes üzerinde continuous deployment rehberi. Application CRD, sync waves, ApplicationSets, ArgoCD vs Flux karşılaştırması ve DevOps mülakat soruları.

Terraform Mülakat Soruları: Infrastructure as Code Kapsamlı Rehberi 2026
Terraform mülakat soruları ve cevapları. State yönetimi, modüller, workspace'ler, provider'lar ve IaC en iyi uygulamaları. Terraform 1.14 ve HCP Terraform için 2026 güncellemesi.