Blog Yazısı
GitHub Actions ile Otomatik CI/CD Kurulumu
GitHub Actions kullanarak Angular ve Spring Boot projeleri için uçtan uca otomatik CI/CD pipeline kurulumu ve sunucuya otomatik deploy rehberi.
Sponsorlu
GitHub Actions ile CI/CD kurmak, kodu otomatik deploy etmekten ibaret değildir. İyi pipeline testleri çalıştırır, build çıktısını doğrular, secret değerleri güvenli kullanır, imajı versiyonlar ve production geçişini kontrollü hale getirir.
Aşamaları ayırmak
Angular ve Spring Boot içeren projede frontend test/build, backend test/package, Docker image build ve deploy ayrı job olarak tasarlanabilir. Pull request tarafında test ve build yeterlidir; production deploy yalnızca main branch veya tag üzerinden tetiklenmelidir.
Cache ve tekrarlanabilirlik
Node tarafında npm ci, Maven tarafında wrapper kullanımı CI ortamını daha öngörülebilir yapar. Cache anahtarları lock dosyalarına bağlanmalıdır; aksi halde eski bağımlılıklar beklenmedik hatalara yol açabilir.
Secret yönetimi
SSH anahtarı, registry token, environment dosyası veya API secret repository içine yazılmamalıdır. GitHub Secrets ve environment-level protection kullanılmalıdır. Production deploy için manuel onay veya branch koruması eklemek riski azaltır.
İmaj versiyonlama
latest etiketi tek başına yeterli değildir. Commit SHA veya release tag ile Docker image etiketlemek rollback sürecini kolaylaştırır. Productionda hangi commitin çalıştığını bilmek hata anında büyük avantaj sağlar.
Sonuç
Başarılı CI/CD, otomasyon kadar disiplin gerektirir. Test, build, secret, versiyonlama ve kontrollü deploy adımları ayrıldığında ekip daha hızlı release alır ve production hatalarını daha erken yakalar.
Pratik uygulama notu
Pipeline tasarlarken başarısızlık senaryosu da planlanmalıdır. Test kırıldığında deploy durmalı, deploy kırıldığında log görünür olmalı, productiona çıkan sürüm izlenebilir kalmalıdır. Bu nedenle CI/CD dosyası yalnızca komut listesi değil, ekibin release disiplinini belgeleyen bir yapı olarak ele alınmalıdır.