DevOps

Hands-on CI/CD across GitHub Actions and GitLab CI — quality gates on every change, conventional-commit release automation that versions, changelogs, and publishes packages and container images, and Helm-based deployments to Kubernetes.

Details & related links

Leveraging DevOps principles, I automate the path from commit to deployed release. On GitHub that is GitHub Actions — lint, type-check, and test gates on every pull request, plus a release train driven by conventional commits: it derives the next version, writes the changelog, and once the release is published it builds and ships the artifacts on its own — the Python package to PyPI, multi-architecture container images with SBOM and build provenance to the GitHub Container Registry, and the server entry to the MCP Registry. On GitLab it is a staged pipeline — checks, dependency and image builds, then deploy — where every merge request runs pre-commit, a pytest suite with coverage reporting, and an integration test against a live server, and a tagged commit on main builds the image with Kaniko and upgrades a Helm release on Kubernetes with horizontal pod autoscaling, readiness and liveness probes, and an atomic rollback if the upgrade fails.

Around both sit the practices that make the automation worth having: containerized builds with Docker, infrastructure described as code from Terraform modules to Helm values, and pre-commit gates so the pipeline is not the first place a problem gets noticed. This hands-on experience underscores my commitment to continuous integration, delivery, and deployment, promoting a culture of continuous improvement and operational efficiency.