CI/CD & Release Engineering
Deploys that are boring, which is exactly the point.
If releasing software depends on one person remembering the right sequence, then that person is your deployment process. We build the pipeline that tests, builds, migrates and ships on every merge, with review environments and a rollback that has actually been used.
Tools we work in
- GitHub Actions
- GitLab CI
- Docker
- Terraform
- Vercel
- Kubernetes
- PostgreSQL
Scope
What this covers
The specific work included when you engage us for this service.
- Build and test pipelines that run on every pull request
- Automated database migrations with a reviewable and reversible path
- Per-branch preview environments so review happens on a running system
- Blue-green or canary releases with an automatic rollback trigger
- Secret management and environment configuration kept out of the repository
- Release notes, version tagging and an auditable record of what shipped when
What you receive
- 01A working pipeline from pull request to production, with failures that block the merge
- 02A rollback procedure that has been executed at least once, not just documented
- 03A release runbook covering migrations, feature flags and hotfixes
Questions
CI/CD & Release Engineering, answered
Our deploys are manual and they have never caused an incident.
That is possible, and it usually means the team is small enough to hold the process in its head. The risk is not that today's deploys fail, it is that the knowledge is not transferable: someone goes on holiday, a new engineer joins, or a deploy happens at an hour when the careful person is asleep. Automating the sequence is mostly about making the process reproducible by anyone at three in the morning.
How do you handle database migrations safely?
Expand and contract, in separate releases. The new column or table is added and made backward compatible first, the application is deployed to use it, and the old structure is removed only once nothing reads it. That way no deployment leaves the database in a state the current code cannot read, which is what makes a rollback possible.
Should we deploy continuously or on a schedule?
The pipeline should make continuous deployment possible; the release policy is a business decision. Some teams ship every merge, others release on a Tuesday to a fixed group of customers. Both work as long as the pipeline is identical and the difference is a setting rather than a different procedure.
Most often requested by
Related
More in Cloud, DevOps & Security
Cloud Migration
Move to the cloud without carrying the old problems with you.
Cloud Architecture & Design
Decisions that are cheap now and expensive to reverse later.
Cloud Cost Optimisation
Most cloud bills contain spend that nobody decided to make.
Kubernetes & Container Platforms
Containers are quick to adopt and slow to master.
Tell us where the manual work is
A 30-minute call. We map the process, tell you what we would automate or build first, and what it costs. No retainer before you agree the scope.
- No retainer before scope is agreed
- Written plan you can act on alone
- Worldwide delivery, on your hours
