A simple Java web app for guessing numbers (1–100).
A fully automated CI/CD pipeline for a Java web application using Jenkins, Maven, and Tomcat. This project demonstrates modern DevOps practices with complete automation from code commit to production deployment.
Frontend: JSP, HTML, CSS Backend: Java Servlets Build Tool: Apache Maven CI/CD Server: Jenkins Application Server: Apache Tomcat 9 Version Control: GitHub
- Code Checkout - Automated git clone from GitHub
- Compile & Build - Maven compilation and packaging
- Unit Testing - Automated JUnit test execution
- WAR Packaging - Executable web archive creation
- Automated Deployment - Zero-downtime deployment to Tomcat
- Smoke Testing - Automated verification of deployed application
GitHub Webhooks: Automatic build triggering on every git push Self-healing Pipeline: Automatic rollback on deployment failures Artifact Archiving: Historical build artifacts stored in Jenkins Email Notifications: Build status alerts to team members Quality Gates: Automated testing before deployment
Jenkins pipeline configuration & maintenance Webhook setup and automation triggers CI/CD workflow optimization Build monitoring and troubleshooting
Tomcat server setup and configuration WAR deployment automation Environment management (dev/test/prod) Performance optimization
GitHub repository management Code review enforcement Documentation maintenance Quality assurance standards
## Troubleshooting 🚨 If automation fails:
- Check Jenkins build console for errors
- Verify Tomcat server status: sudo systemctl status tomcat
- Confirm webhook delivery in GitHub settings
- Check application logs: /opt/tomcat/logs/catalina.out