Yesterday, I had all three containers running with Docker Compose; frontend, backend, and PostgreSQL. But there was still one manual step: every time I changed code, I had to rebuild and restart containers manually. Today, I fixed that forever. I installed Jenkins — an automation server that watches my GitHub repository and runs tasks automatically when code changes. This is the heart of CI/CD (Continuous Integration/Continuous Deployment). First: What is Jenkins? In one sentence: Jenkins is a tool that automatically runs tasks when your code changes. The Problem Jenkins Solves Without Jenkins (where I was): Write code git push Manually run docker-compose up --build Wait Repeat for every change With Jenkins: Write code git push Jenkins AUTOMATICALLY builds and deploys Done!…