This project demonstrates a complete CI/CD pipeline using GitHub Actions to deploy a Java web application to Apache Tomcat. It integrates:
- Maven for build automation
- SonarQube for code quality analysis
- AWS S3 for artifact storage
- GitHub Actions for orchestration
- Tomcat Server for deployment
✅ The pipeline automates build, test, quality check, and deployment to a production-like environment.
| Tool | Purpose |
|---|---|
| GitHub Actions | CI/CD orchestration |
| Maven | Build automation |
| SonarQube | Code quality analysis |
| AWS S3 | Artifact storage |
| Apache Tomcat | Application deployment |
| Java | Backend application |
.
├── .github/
│ └── workflows/ # GitHub Actions workflow YAML (e.g., maven.yml)
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── in/javahome/myweb/
│ │ │ └── Calculator.java # Core Java logic
│ │ └── webapp/
│ │ ├── WEB-INF/
│ │ │ └── web.xml # Deployment descriptor
│ │ ├── assets/ # Static assets (images, JS, etc.)
│ │ ├── index.jsp # Main JSP page
│ │ └── style.css # Stylesheet
│ └── test/
│ └── java/in/javahome/myweb/
│ └── CalculatorTest.java # Unit test for Calculator
├── pom.xml # Maven build configuration
└── README.md # Project documentation
- Push to main branch
- GitHub Actions triggers:
- Maven build
- SonarQube scan
- Artifact upload to S3
- Deployment to Tomcat
Add screenshots here showing:
- GitHub Actions workflow run
- SonarQube dashboard
- AWS S3 bucket with artifact
- Tomcat deployment confirmation
# Clone the repo
git clone https://github.com/githubWithGHANA/GitHub-Actions.git
cd GitHub-Actions
# Build with Maven
mvn clean packageMIT License
Copyright (c) 2026 Ghanashyama
Permission is hereby granted, free of charge, to any person obtaining a copy...