Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Uçtan Uca Zero-Downtime: Bookstore'u GitHub Actions ile Blue-Green ve Canary Deploy Etmek
Serinin bütün parçaları tek bir GitHub Actions workflow'unda: image'ı bir kez build et, migration gate'i ve expand migration bundle'ı, boştaki renge deploy, preview'den smoke test, %10 ve %50 canary gate'leri, tam geçiş ve manuel rollback job'ı. act ile yerelde koşulan pipeline başarıdan önce dört kez düştü: Down()'ı tarayan gate, act'in artifact v7 uyumsuzluğu, eski renge bakan preview ve yetersiz canary trafiği.
GitHub Actions Trigger'ları: push, pull_request, workflow_dispatch, schedule ve Filtreler
Workflow'u ne zaman çalıştıracağını on altındaki event'ler ve filtreler belirler: push ve pull_request için branches, tags, paths ve ! negation; activity type'lar, workflow_dispatch input'ları, timezone destekli schedule, workflow_run, repository_dispatch ve merge_group. github.event.inputs ile boolean okuma tuzağını, actionlint'in yakaladığı trigger hatalarını ve act'in filtreleri neden değerlendirmediğini gerçek çıktılarla gösteriyoruz.
GitHub Actions Nedir? Workflow, Event, Job, Step ve Runner ile İlk CI
GitHub Actions, repository'deki event'lere göre .github/workflows altındaki YAML workflow'larını runner'larda koşturan CI/CD platformudur. Bookstore API için restore, build ve unit test yapan ilk workflow'u yazıp act ve actionlint ile yerelde deniyor; uses ile run farkını, run log'unu, re-run'ı ve Web API 31'deki workflow'un nedenlerini konuşuyoruz.