Try Devtron Enterprise!
Start Free Trial
LogoLogo
WebsiteDevtron demoGithub RepoJoin Discord
v0.5
v0.5
  • Overview
  • Getting Started
    • Install Devtron
      • Install Devtron with CI/CD integration
      • Install Devtron
      • Install Devtron on Minikube, Microk8s, K3s, Kind
      • Installation Configurations
      • Override Configurations
      • Ingress setup for Devtron Installation
    • Global Configurations
      • GitOps
      • Projects
      • Cluster And Environments
        • Namespaces And Environments
      • Git Accounts
      • Container Registries
      • Chart Repositories
      • Custom charts
      • SSO Login Service
      • Authorization
        • User Permissions
        • Permission Groups
        • API Tokens
      • Manage Notification
      • External links
    • Devtron Upgrade
      • Update Devtron from Devtron UI
      • 0.4.x-0.5.x
      • 0.4.x-0.4.x
      • 0.3.x-0.4.x
      • 0.3.x-0.3.x
      • 0.2.x-0.3.x
  • Usage
    • Applications
      • Create a new application
      • Clone an existing application
      • Deploy a sample application
      • App Configuration
        • Git Repository
        • Docker Build Configuration
        • Deployment Template
          • Deployment
          • Rollout Deployment
          • Job and Cronjob
        • Workflow Overview
        • CI Pipeline
          • Pre-Build/Post-Build Tasks
        • CI Pipeline (Legacy)
        • CD Pipeline
        • Config Maps
        • Secrets
        • Environment Overrides
        • Deleting Application
      • Build and Deploy
        • Triggering CI
        • Triggering CD
      • App Details
        • Debugging Deployment And Monitoring
        • Application Metrics
    • Charts
      • Charts Overview
      • Deploy & Observe
      • Examples
        • Deploying Mysql Helm Chart
        • Deploying MongoDB Helm Chart
      • Chart Group
    • Security
    • Bulk Edit
    • Integrations
  • Resources
    • Troubleshooting
    • Use Cases
      • Devtron Generic Helm Chart To Run CronJob Or One Time Job
      • Connect SpringBoot with Mysql Database
      • Connect Expressjs With Mongodb Database
      • Connect Django With Mysql Database
    • Telemetry Overview
  • Deprecated
    • Hyperion
Powered by GitBook
On this page
  • Introduction
  • 1. Deploy a mysql Helm Chart
  • 2. Fork the Git Repository
  • 3. Create Application on Devtron
  • 4. Final Step

Was this helpful?

Export as PDF
  1. Resources
  2. Use Cases

Connect SpringBoot with Mysql Database

PreviousDevtron Generic Helm Chart To Run CronJob Or One Time JobNextConnect Expressjs With Mongodb Database

Last updated 2 years ago

Was this helpful?

Introduction

This document will help you to deploy a sample Spring Boot Application, using mysql Helm Chart

1. Deploy a mysql Helm Chart

To deploy mysql Helm Chart, you can refer to our documentation on

2. Fork the Git Repository

For this example, we are using the following , you can clone this repository and make following changes in the files.

*Configure application.properties

Set the database configuration in this file.

spring.datasource.url=jdbc:mysql://<service-name>/<mysql database-name>
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.datasource.username=<mysql-user>
spring.datasource.password=<mysql-password>
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jpa.open-in-view=true

Configure the Dockerfile

# syntax=docker/dockerfile:experimental
FROM maven:3.5-jdk-8-alpine as build
WORKDIR /workspace/app

COPY pom.xml .

RUN mvn -B -e -C -T 1C org.apache.maven.plugins:maven-dependency-plugin:3.0.2:go-offline

COPY . .
RUN mvn clean package -Dmaven.test.skip=true


FROM openjdk:8-jdk-alpine
RUN addgroup -S demo && adduser -S demo -G demo
VOLUME /tmp
USER demo
ARG DEPENDENCY=/workspace/app/target/dependency
COPY --from=build /workspace/app/target/docker-demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar", "app.jar"]

3. Create Application on Devtron

*Git Repository

In this example, we are using the url of the forked Git repository.

*Docker configuration

Give, the path of the Dockerfile.

**_Configure Deployment Template*_

Enable Ingress, and give the path on which you want to host the application.

*Set up the CI/CD Pipelines

Set up the CI/CD pipelines. You can set them to trigger automatically or manually.

*Trigger Pipelines

Trigger the CI Pipeline, build should be Successful. Then trigger the CD Pipeline, deployment pipeline will be initiated, after some time the status should be Healthy.

4. Final Step

*Test Rest API

It exposes 3 REST endpoints for it's users to create, to view specific student record and view all student records.

To test Rest API, you can use curl command line tool

Create a new Student Record

Create a new POST request to create a new Transaction. Once the transaction is successfully created, you will get the student id as a response.

Curl Request is as follows:

sudo curl -d '{"name": "Anushka", "marks": 98}' -H "Content-Type: application/json" -X POST http://<hostname>/<path-name>/create

View All Student's Data

To view all student records, GET Request is:

path will be the one that you have given in Step 3 while configuring the Deployment Template.

http://<hostname>/<path>/viewAll

View student's data By student ID

To view student data by student id, GET Request is:

http://<hostname>/<path>/view/<id>

path will be the one that you have given in Step 3 while configuring the Deployment Template.

To learn how to create an application on Devtron, refer to our documentation on

Deploy mysql Helm Chart
GitHub Repo
Creating Application