# PetClinic / DevOps

> A DevOps course extension of Spring PetClinic, with Jenkins builds, Ansible deployment, security checks, and Prometheus/Grafana monitoring.

- Author: Benjamin Zhuang
- Category: Build and deployment
- Context: CMU 17-636 · Spring PetClinic extension
- Years: 2026
- Stack: Jenkins, Ansible, Vagrant, Prometheus, Grafana, OWASP ZAP
- Source: https://github.com/Benjaminnnnnn/spring-petclinic
- Web page: https://benjaminnnnnn.github.io/portfolio/petclinic-devops/

**Build the app, check it, and deploy it to a VM.**

## Key figures

- Jenkins: build and delivery pipeline
- Ansible: deployment to a Vagrant VM
- Grafana: metrics and dashboard configuration

## Use an existing application to study delivery.

The application comes from the open-source Spring PetClinic project. The course work adds deployment and operations configuration. The PetClinic application itself is upstream work.

## Build in one environment, deploy into another.

The setup guide separates the development container from the host's Vagrant VM. Jenkins builds the application and uses Ansible to deploy it to the VM. SonarQube and OWASP ZAP are part of the documented quality and security workflow.

## Keep the deployment inspectable.

Prometheus and Grafana configuration, setup scripts, and screenshots are committed alongside the pipeline. The repository also contains Kubernetes manifests. The documented VM workflow is the basis of this case study; no currently running production deployment is claimed.

## Evidence

- [Setup guide and environment boundaries](https://github.com/Benjaminnnnnn/spring-petclinic/blob/main/setup.md)
- [Jenkins pipeline](https://github.com/Benjaminnnnnn/spring-petclinic/blob/main/Jenkinsfile)
