~/paras-karki · portfolio

Loading portfolio

Skip to content
PK

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

$

  • 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

Paras Karki · CV

page 1 of 2