FAQ

Can I run without agents?

Yes. Set master numExecutors > 0 in casc.yaml and deploy on built-in. Environments will live under /var/jenkins_home/qa-data/envs/. Not recommended for production due to controller load.

How do I add Kubernetes instead of Docker Compose?

Requires refactoring:

  • Replace Compose templates with Kubernetes manifests.

  • Update deployment steps to use kubectl.

  • Add kubeconfig and kubectl to agents.

  • Consider Jenkins Kubernetes Plugin for pod-based agents.

Can multiple users work on the same environment?

Concurrent access is fine; concurrent updates are not. Use pipeline locks (lock(resource: "env-<name>")) to serialize changes. Audit metadata in meta.json for created_by/updated_by.

How many environments can I run?

Depends on agent resources and workload size:

  • Light (1–2 services): ~10 envs on 8 GB RAM; ~25 on 16 GB.

  • Medium (3–5 services): ~10 envs on 16 GB; ~20 on 32 GB.

  • Heavy (5+ services): ~5 envs on 32 GB; ~10 on 64 GB.

Scale horizontally by adding agents and using labels to distribute load.

How do I migrate to production?

  • Update .env with production URLs and registry credentials.

  • Enable HTTPS via reverse proxy (e.g., Nginx with TLS certs).

  • Configure backups (cron/automation) for Jenkins home and environment data.

  • Enable LDAP/AD or external auth in casc.yaml.

  • Add monitoring/alerting (Prometheus/Grafana, ELK, PagerDuty/OpsGenie).

How do I integrate external monitoring?

Option 1: include Prometheus/Grafana services in each environment via templates.
Option 2: run a central monitoring stack that scrapes all environments (Docker service discovery).

Why do I see @tmp directories?

Jenkins creates temporary workspaces; cleanup is automated via utils.cleanupTempEnvDirs(). If needed, manually remove *@tmp under /var/jenkins_home/qa-data/envs/.