Skip to content

Conversation

@devin-ai-integration
Copy link

@devin-ai-integration devin-ai-integration bot commented Jan 8, 2026

Summary

This PR upgrades the Spring Boot BankApp from Java 17 to Java 22 across all configuration files, Docker images, and documentation.

Changes made:

  • pom.xml: Updated java.version to 22, fixed maven-compiler-plugin source/target from 1.8 to 22, upgraded Spring Boot parent from 3.3.3 to 3.4.0
  • Dockerfile: Updated builder stage to maven:3.9-eclipse-temurin-22 and runtime stage to eclipse-temurin:22-jre-alpine
  • README.md & README-K8S.md: Updated Jenkins installation to use Eclipse Temurin (Adoptium) repository for Java 22 (since openjdk-22-jre is not available in Ubuntu apt repositories)
  • kubernetes/bankapp-deployment.yml: Updated container image tag to java22

Updates since last revision

  • Fixed Docker images to use verified existing tags:
    • Builder: maven:3.9-eclipse-temurin-22 (previously referenced non-existent maven:3.8.3-openjdk-22)
    • Runtime: eclipse-temurin:22-jre-alpine (previously referenced non-existent openjdk:22-alpine)
  • Updated Jenkins installation docs to use Eclipse Temurin repository with temurin-22-jdk package instead of unavailable openjdk-22-jre

Review & Testing Checklist for Human

  • Build Docker image locally: Run docker build -t bankapp:java22 . to verify the image builds successfully with the new base images
  • Test application startup: Run the container and verify the Spring Boot application starts correctly with Java 22
  • Build and push Docker image: After merging, build and push to trainwithshubham/bankapp-eks:java22 before deploying to Kubernetes

Recommended test plan:

  1. Build Docker image locally: docker build -t bankapp:java22 .
  2. Run container: docker run -p 8080:8080 bankapp:java22 (will fail without MySQL, but should show Spring Boot startup)
  3. After merge, push image and deploy to EKS

Notes

  • The maven-compiler-plugin version (3.8.0) is retained but may benefit from an upgrade for better Java 22 support
  • The Kubernetes deployment references trainwithshubham/bankapp-eks:java22 which needs to be built and pushed after this PR is merged
  • Local Maven build was not verified (dev environment has Java 21); Docker build will handle Java 22 compilation
  • Snyk security check shows 1 pre-existing vulnerability (not introduced by this PR)

Link to Devin run: https://app.devin.ai/sessions/e4614558bfff42e0adbb5e24bba87f63
Requested by: Satwik Bebortha (@satwik-cog)

Phase 1: Update Maven Configuration
- Update java.version property from 17 to 22
- Fix maven-compiler-plugin source/target from 1.8 to 22
- Upgrade Spring Boot parent from 3.3.3 to 3.4.0

Phase 2: Update Docker Configuration
- Update builder stage from maven:3.8.3-openjdk-17 to maven:3.8.3-openjdk-22
- Update runtime stage from openjdk:17-alpine to openjdk:22-alpine

Phase 3: Update Jenkins CI/CD Configuration
- Update README.md Jenkins installation from openjdk-17-jre to openjdk-22-jre

Phase 4: Update Kubernetes Deployment
- Update container image tag to java22 for the rebuilt image

Phase 5: Update Documentation
- Update README-K8S.md Jenkins installation from openjdk-17-jre to openjdk-22-jre

Co-Authored-By: Satwik Bebortha <satwik.bebortha@cognition.ai>
@devin-ai-integration
Copy link
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

- Update Dockerfile to use existing Docker images:
  - Builder: maven:3.9-eclipse-temurin-22 (maven:3.8.3-openjdk-22 does not exist)
  - Runtime: eclipse-temurin:22-jre-alpine (openjdk:22-alpine does not exist)

- Update README.md and README-K8S.md Jenkins installation:
  - openjdk-22-jre is not available in Ubuntu apt repositories
  - Added Eclipse Temurin (Adoptium) repository installation for Java 22
  - Install temurin-22-jdk instead of openjdk-22-jre

Co-Authored-By: Satwik Bebortha <satwik.bebortha@cognition.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant