Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
17 posts found #ci-cd
Testing in the Pipeline: Fast Feedback, Quality Gates and Flaky Tests
DevOps PART 04

Testing in the Pipeline: Fast Feedback, Quality Gates and Flaky Tests

Ordering tests in the pipeline from cheap to expensive (formatting, unit, integration with Testcontainers, e2e with Playwright) and adding quality gates such as warnings, coverage and bundle budgets gives fast, trustworthy feedback; a flaky test needs its root cause fixed rather than a retry. How a test without assertions inflates coverage, a real flaky test failing 2 of 30 runs, and an empty Playwright shard.

8 Nov 2026 11 min 5
Build Once, Deploy Many: Artifacts, Versioning and Immutable Packages
DevOps PART 03

Build Once, Deploy Many: Artifacts, Versioning and Immutable Packages

Building an artifact once and carrying that same artifact, by tag or digest, from staging to production guarantees that what was tested on staging is what reaches production; even building the same commit twice yields different images. Reproducible builds with lock files and npm ci, stamping versions with the commit SHA, the :latest trap, and a runtime config.json for Angular.

8 Nov 2026 10 min 5
Pipeline Anatomy: Triggers, Stages, Jobs, Steps and Failing Fast
DevOps PART 02

Pipeline Anatomy: Triggers, Stages, Jobs, Steps and Failing Fast

A pipeline starts with triggers and is made of dependent jobs (stages in Jenkins) and steps that run in order; putting the build logic in a script that runs locally, letting the pipeline only orchestrate, moving cheap checks first and failing fast across parallel branches all speed up feedback. A GitHub Actions, Jenkins and Azure DevOps term mapping, with real output from act and Jenkins.

8 Nov 2026 10 min 5
CI, Continuous Delivery and Continuous Deployment: The Differences and Why They Matter
DevOps PART 01

CI, Continuous Delivery and Continuous Deployment: The Differences and Why They Matter

CI means everyone integrates into the mainline every day and every push runs an automated build and tests; continuous delivery keeps every commit releasable and leaves going to production as a decision, while continuous deployment removes that button too. An integration hell scenario, Fowler's 2024 practices, a CI workflow run with act, and the MinimumCD checklist.

8 Nov 2026 8 min 6
Containerizing an ASP.NET Core Web API with Docker and Setting Up CI/CD with GitHub Actions
Backend PART 31

Containerizing an ASP.NET Core Web API with Docker and Setting Up CI/CD with GitHub Actions

We containerize an ASP.NET Core Web API with a multi-stage Dockerfile: dotnet publish, the layer cache, .dockerignore, ports and environment settings; then we build a GitHub Actions CI/CD pipeline that tests the code and pushes the image to ghcr.io.

4 Nov 2026 9 min 52
Blog Map