Codzgarage CI/CD pipeline

FTP and manual uploads replaced with GitLab push-to-deploy for 40–50 developers across staging, QA, and production.

  • Codzgarage Infotech
  • 2023
  • DevOps & platform
  • Private infrastructure
40–50Developers
3Environments
FTP →Git deploy

Context

Org
Software services company — ~50 developers across multiple concurrent client projects.
Constraint
Deployments via FTP and manual file uploads. Schema drift and overwritten files causing production and demo incidents.
Requirement
Standardized pipeline with environment promotion gates and automated database migrations.

Role & scope

Team lead and primary engineer for the CI/CD initiative.

  • Designed multi-environment pipeline: staging → QA → production
  • Built automated database migration steps into deploy stages
  • Replaced FTP workflows with GitLab push-to-deploy
  • Documented branching strategy and rollback procedures

Key decisions

GitLab CI/CD over Jenkins

Team already on GitLab. Native CI/CD keeps pipelines next to source — no separate tool to operate.

Rejected: Jenkins (ops overhead) · manual scripts only (doesn't scale to 50 devs)

Automated migrations in pipeline

Schema drift was a recurring production issue. Migrations run on deploy with explicit production gates.

Trade-off: slower deploys vs. manual migration errors

Single pipeline, environment-specific config

One pipeline definition with per-environment variables — less duplication as project count grew.

Rejected: per-project pipelines · Docker/K8s (overkill for team maturity)

Architecture

Developer push │ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ GitLab │────▶│ Staging │────▶│ QA │ │ CI/CD │ │ deploy │ │ deploy │ └─────────────┘ └─────────────┘ └──────┬──────┘ │ ▼ ┌─────────────┐ │ Production │ │ + migrate │ └─────────────┘
GitLab / GitHub Linux Shell Scripts SQL Migrations .NET

Results

FTP → GitManual uploads replaced with push-to-deploy
3 envsStaging, QA, production on automated promotion path
40–50Developers supported without deployment bottlenecks
FewerProduction incidents from overwritten files and schema drift

Retrospective

  • Deploy friction compounds as team size grows — pipeline work should precede the 30-developer mark.
  • Would add deploy frequency metrics from day one to track improvement.