Friendly Jenkins

A self-service QA environment platform built on Jenkins and Docker Compose. It lets teams spin up, deploy, and retire ephemeral environments using reusable templates, automation-first workflows, and a unified UI.

Highlights

  • Template-driven Docker Compose stacks with dynamic variable substitution and dependency auto-generation.

  • Jenkins automation for create, deploy, update, validate, and cleanup jobs with lock protection and TTL policies.

  • Shared library encapsulating rendering, health checks, backups, and metadata handling.

  • Multi-agent support with automatic target detection and per-environment Docker networks/volumes.

  • Webhook-friendly design for Git-based sync of templates and shared library code.

Who This Is For

  • QA and release teams needing fast, isolated test environments.

  • Developers validating feature branches or multi-version scenarios.

  • Ops/Platform engineers standardizing environment provisioning via Jenkins pipelines.

Quick Start (Happy Path)

  1. If a master already exists and running, skip to Agent setup and only prepare the agent files.

  2. Otherwise, obtain the distribution bundle (or copy the project folder) so you have jenkins-master/ and optional shared-library/ on the host.

  3. Create jenkins-master/.env with admin, registry, and Git credentials.

  4. From jenkins-master/, run docker compose up -d and wait for “Jenkins is fully up and running.”

  5. Open http://localhost:8080 (default admin / admin123 if unchanged).

  6. Run QA-Environments/Create-Environment then Deploy-Environment to ship to an agent.

See Installation for OS-specific steps and Environment Lifecycle for day-to-day flows.

What You Get

  • Predefined Jenkins folders and jobs for templates, environments, and system tasks.

  • Shared library (qa-shared) wired through Global Pipeline Libraries.

  • Storage layout under /var/jenkins_home/qa-data/ on master and /opt/qa-envs/ on agents.

Documentation Map