This project is a Maven-based web application developed to demonstrate [insert purpose or functionality]. It utilizes AWS for cloud deployment and Jenkins for Continuous Integration and Continuous Deployment (CI/CD) to ensure efficient and reliable application delivery.
- AWS Deployment: The application is hosted on Amazon Web Services, leveraging its scalability and reliability.
- CI/CD Pipeline: Automated build, test, and deployment processes using Jenkins.
Before setting up the project, ensure you have the following installed:
- Java Development Kit (JDK) 8 or higher: Download Link
- Apache Maven 3.6.0 or higher: Download Link
- Git: Download Link
- AWS Account: Sign Up
- Jenkins: Installation Guide
Follow these steps to set up and run the project locally:
- Clone the repository:
git clone https://github.com/SHAIKSHOAIB-GIT/maven-web-application.git
- Navigate to the project directory:
cd maven-web-application
- Build the project using Maven:
mvn clean install
- Run the application:
mvn spring-boot:run
Replace with the appropriate command if not using Spring Boot.
Access the application: Open your browser and navigate to http://localhost:8080/.
AWS Deployment The application is deployed on AWS, utilizing services such as EC2 for hosting. Deployment is managed through Jenkins, ensuring seamless updates and scalability.
CI/CD Pipeline A robust CI/CD pipeline is implemented using Jenkins to automate the build, test, and deployment processes:
Continuous Integration (CI):
Code Integration: Upon code commits to the GitHub repository, Jenkins triggers the build process. Automated Testing: Executes unit and integration tests to validate code changes. Continuous Deployment (CD):
Artifact Deployment: Successful builds are deployed to AWS EC2 instances. Monitoring: Post-deployment monitoring ensures application stability. This automation enhances development efficiency and reduces manual intervention, leading to faster release cycles.
Project Structure The project follows the standard Maven directory layout:
maven-web-application/
├── src/
│ ├── main/
│ │ ├── java/ # Application source code
│ │ └── resources/ # Configuration files and templates
│ └── test/
│ ├── java/ # Test source code
│ └── resources/ # Test resources
├── .gitignore
├── Jenkinsfile # CI/CD pipeline configuration
├── pom.xml # Maven project descriptor
└── README.md