Troubleshooting
Welcome to the Jenkins section of our infrastructure documentation.
Jenkins is a powerful open-source automation server used to build, test, and deploy code. It enables Continuous Integration (CI) and Continuous Delivery (CD) workflows — helping teams ship faster with higher confidence.
Official Jenkins Docs: https://www.jenkins.io/doc/
Jenkins in Our Infrastructure
In our setup, Jenkins is containerized using Docker.
We run:
- A Jenkins master container (the core web UI and executor)
- One Jenkins agent containers (build executors isolated from the master)
This separation allows builds to be:
- Environment-isolated
- Resource-optimized
- Easy to restart, scale, or move
We manage Jenkins using docker-compose, and the workspace is persisted using volumes to avoid losing build history or plugins on restart.
Covered Topics
This section is broken down into two core areas:
-
Running Jenkins as a Docker service
- How Jenkins is set up using Docker and docker-compose
- How agents are attached and isolated
- Volume, port, and network structure
-
Using Jenkins UI to build and deploy projects
- How to trigger builds from the Jenkins dashboard
- Pipeline setup and configuration (Freestyle + Declarative)
- How builds deploy to staging/production environments
-
Troubleshooting & Common Issues
- Jenkins agent not restarting after reboot
- Permission issues between host and Jenkins agent container
- SSH key issues if the jenkins agent got rebuilt instead of restarted
What's Next?
Start with:
- Jenkins as a Docker Container
- Using Jenkins to Build and Deploy Projects
- Troubleshooting Common Jenkins Issues