# devops-app

![Java](https://img.shields.io/badge/Java-11%2B-ED8108&logo=openjdk&logoColor=white)
![Maven](https://img.shields.io/badge/Maven-build-tool-C11116.svg?logo=apachemaven)
![Jenkins](https://img.shields.io/badge/Jenkins-CI%2FCD-D53327.svg?logo=jenkins)

A Java Maven application built as a DevOps learning project. Demonstrates a full CI/CD pipeline using **Jenkins** with automated build, test, and deploy stages.

---

## Technology Stack

- **Language:** Java
- **Build Tool:** Apache Maven
- **CI/CD:** Jenkins (declarative pipeline)

---

## Project Structure

```
devops-app/
├── Jenkinsfile          # Jenkins declarative pipeline
├── pom.xml              # Maven project configuration
└── src/
    ├── main/java/       # Application source code
    └── test/java/       # Unit tests
```

---

## Jenkins Pipeline

The `Jenkinsfile` defines a declarative pipeline with the following stages:

1. **Checkout** - Pull source code from Git
2. **Build** - Compile with Maven
3. **Test** - Run unit tests
4. **Deploy** - Package and deploy the artifact

---

## Build Locally

```bash
git clone https://github.com/yshbhrdwj/devops-app
cd devops-app
mvn clean install
```

---

## Author

**Yash Bhardwaj** · [GitHub](https://github.com/yshbhrdwj)
