SonarQube is an excellent tool for measuring code quality, using static analysis to find code smells, bugs, vulnerabilities, and poor test coverage. Rather than manually analysing the reports, why not automate the process by integrating SonarQube with your Jenkins continuous integration pipeline? This way, you can configure a quality gate based on your own requirements, […]
Setup Spring Boot behind a load balancer using the X-Forwarded headers
If you’ve ever deployed Spring Boot behind a load balancer, you might be aware of issues coming from differences between the request into the load balancer and the request into your application. These requests will often have a different protocol, host, or port. If Spring Boot isn’t correctly setup it can lead to all sorts […]
Unleashing the Spring Boot Gradle plugin
1. Introduction Spring Boot is a framework to build Java applications with minimal boilerplate code required, whereas Gradle is a highly configurable build automation tool. Using Gradle to build your Spring Boot application is a good approach, but the process is made infinitely easier using the Spring Boot Gradle plugin to provide build functionality specific […]
Top 5 IntelliJ IDEA 2020.1 features for Java developers
IntelliJ IDEA 2020.1 was released in April 2020 and represents the first major update of the year. Here are the 5 key new features that every Java developer should know about. 1. Automatic JDK download Fed up of endlessly searching for the right JDK online? This new feature integrates the downloading of JDKs directly into […]
Building a Spring Boot application in Jenkins (part 1 of microservice devops series)
Welcome to the first of this three part series where we’ll be taking a Spring Boot microservice from inception to deployment. In this article, we’ll be creating a simple Spring Boot API application with integration tests, and then building it in a Jenkins pipeline every time a change is pushed to version control. This series […]
5 tips for using Gradle with IntelliJ IDEA 2019
If you’re using Gradle as the build automation tool for your project, then there’s no better IDE of choice than IntelliJ IDEA 2019. This is thanks to it’s tight integration which exposes much of the Gradle functionality via the UI, meaning there’s little reason to revert to the command line. Here are 5 tips for […]
Recursive AWS Lambda Functions in Node.js JavaScript
AWS Lambda functions are a great way to execute short-running processes without worrying about what hardware they’re going to run on. Sometimes though, we have a requirement to execute a longer-lived process, but unfortunately AWS imposes a 15 minute execution limit. Fear not though, because in this article you’ll learn how to write recursive Node.js […]
How To Measure Code Coverage Using SonarQube and Jacoco
Code coverage is a metric that many teams use to check the quality of their tests, as it represents the percentage of production code that has been tested. Discover how to apply the Gradle Jacoco plugin to your project and run a SonarQube scan to generate a code coverage report. 1. Overview SonarQube is a […]
How To Destroy A Codebase In 5 Easy Steps
Some people work really hard to destroy a codebase, without realising what they’re doing. Try to look out for any of the signs below in your fellow developers, as it’s most likely effecting your code quality. Also watch out, because it could be you. 1. Ego-driven complexity Software systems are complex, but the skill is […]