It was the evening of the French-German football game for the European Championship and while watching the game using one eye, I had the time to figure out how to create an integration tests using two Spring Boot connected components.

Setup

The setup of the Spring Boot components is quite simple. There are two Spring Boot components; module1 and module2. Module1 forwards a request to module2.

http client (like curl)-> module1 -> module2

Integration test

In the integration test we want to load both container module1 and module2. The integration test calls module1 and verifies the answer.

Integration test -> module1 -> module2


Continuous Deployments rocks. And FluxCD rocks. As a hard-core Spring Boot fan I wanted to use Flux CD v2 to deploy a Spring Boot application on a EKS cluster. And I wanted to use GitHub Actions. Here’s what I found out.

Bootstap FluxCD on Kubernetes

First of all, I had to make sure Kubernetes and Flux were working. I used EKS on AWS and installed Flux on my laptop using brew. Then I had to load Flux v2 onto Kubernetes. I had to use the following commands

export GITHUB_TOKEN=******
export GITHUB_USER=enschede
flux bootstrap github \
--owner=$GITHUB_USER \
--repository=scratch-infra \
--branch=main \
--path=app-cluster \
--personal


In one of my previous project we had to preload some test/demo data into our database on the DEV and TST environments, but of course not in the PROD environment. As we deployed the system over and over again on DEV, TST and our local machines we wanted to have that test data loader automatically. In our Spring Boot environment we used Liquibase to load the database schema and we wanted to load the test data using Liquibase as well. So we used Liquibase contexts.

In the first step a pair of Liquibase changesets is defined; the common changeset (without…


Do you have to deal with version hell in your microservice (we call them minions) farm? A mono repo can be the solution. I heard about this a short time ago and I do recognise the challenges the mono repo is about to solve; helping to solve versioning problems with minions and allow developers to do atomic commits.

I’m not going deep into the details and pro’s-and-con’s of the mono repo. There is a lot to be found on the Internet and there is a page on Wikipedia as well. …

Marc Enschede

Java, Spring Boot and Kotlin developer. The backend guy!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store