11
Containerized deployments and CI/CD
Every service ships as a container: YAML pipelines build and check it, and shell scripts deploy it to Azure and Google Cloud VMs.
- Role
- Full Stack Developer · Mavericks Tech Solutions
- When
- Sep 2025 – present
- Relevant for
- Cloud & InfrastructureSoftware
deploy · pull request → Azure VM
01 Pull request. Work lands through a pull request into dev; no direct pushes.
on the vm · docker compose
$ docker compose up -d
- frontendstopped
- backend APIstopped
- workersstopped
keep it patched · scheduled pipeline
01 Scheduled run. A scheduled pipeline starts on its own; nobody has to remember.
My part
I write and maintain the YAML pipelines, Dockerfiles, Compose files and .sh deploy scripts, created the Google Cloud VM instances, and set up the scheduled pipeline that keeps VM packages updated.
Problem
Several services and several developers: every change had to build, pass checks and deploy the same way.
Approach
Work lands through pull requests into dev. A YAML pipeline builds each service, runs the SonarQube gate and builds its Docker image. A .sh script then runs on the VM over SSH and brings the services up with Docker Compose. The same flow deploys to Azure and Google Cloud, and a scheduled pipeline keeps each VM's packages updated.
Outcome
One path from commit to running container for every service on both clouds, issues caught before they merge, and VMs patched without logging in by hand.
What I did
Branches and pull requests
Work lands through pull requests into dev.
Git
YAML pipelines
Pipeline definitions for each service.
Azure DevOps
Quality gate
SonarQube has to pass before merge.
SonarQube
A container per service
A Dockerfile for every service; Docker Compose runs the frontend and backend services together on each VM.
DockerDocker Compose
Deploy scripts over SSH
Shell scripts the pipeline runs on the VM to update and restart the containers.
Bash scriptsLinux VMs
Azure and Google Cloud
The same deployment on both clouds. I created the Google Cloud VM instances and deployed the models there.
AzureGoogle Cloud
Patched on a schedule
A scheduled pipeline keeps each VM's packages up to date.
Azure DevOps
Stack
- Azure DevOps
- YAML pipelines
- Docker
- Docker Compose
- Bash scripts
- SonarQube
- Git
- Linux VMs
- Azure
- Google Cloud