Skip to main content
Version: 1.8

Connect SpringBoot with Mysql Database

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 Deploy mysql Helm Chart

2. Fork the Git Repository​

For this example, we are using the following GitHub Repo, 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​

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

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.