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...