Forget Writing Code.
Start Building Software.

Get weekly inspiration to kickstart your building journey and transform your ideas into digital reality.

Gradle Lifecycle Evaluation Order For Multi-Project Builds

Multi-project builds in Gradle provide a better way to organise your project in the event that your have multiple artifacts to be created or deployed. In simple use cases everything is easy to understand and works without issue. But, as soon as you start to use some more advanced Gradle features we need to look under the cover to better understand how the multiple projects work together within Gradle’s lifecycle....

Published 27 Dec 2019 · 8 min read · Tom Gregory

How to Measure Code Coverage Using SonarQube and Jacoco

Code coverage is a metric that teams use to measure the quality of their tests, and 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. UPDATED in November 2021 to reflect SonarQube LTS version switching to 8.9. 1. Overview SonarQube is a tool which aims to improve the quality of your code using static analysis techniques to report:...

Published 13 Dec 2019 · 7 min read · Tom Gregory

How To Secure Your Gradle Credentials In Jenkins

Setup credentials for your private repository using Jenkins credentials, and inject them into your Gradle builds.

Published 6 Dec 2019 · 12 min read · Tom Gregory

The 4 Types Of Prometheus Metrics

Prometheus is an excellent tool for gathering metrics from your application so that you can better understand how it’s behaving. When deciding how to publish metrics, you’ll have 4 types of metrics to choose from. In this article you’ll discover what are the different types of Prometheus metrics, how to decide which one is right for a specific scenario, and how to query them. Overview Prometheus is a standalone service which scrapes metrics from whatever applications you’ve configured....

Published 2 Dec 2019 · 12 min read · Tom Gregory

7 Things Your Mom Never Told You About Gradle

It’s probably fair to say that Gradle has somewhat of a steep learning curve. Certainly compared to Maven, another popular build automation tool, it’s move flexible and less opinionated about how things should work. Whether you’ve just made the jump into Gradle, or have been using it for a while, in this article you’ll discover seven things you wish you’d known about Gradle. With these pointers, you’ll be well on your way to writing more powerful, more concise build scripts for your application, following best practice all the way....

Published 22 Nov 2019 · 7 min read · Tom Gregory

Monitoring A Spring Boot Application, Part 4: Visualisation & Graphing

Once you’ve setup metrics for your application, and can query them and alert from them, when something goes wrong you need somewhere to go to quickly get a visual overview of what’s happening. In this article, you’ll discover how to setup a basic dashboard with Grafana, showing useful graphs to summarise the current state of a Spring Boot application. This is part 4, the final part of this series on monitoring a Spring Boot application....

Published 8 Nov 2019 · 7 min read · Tom Gregory

Monitoring A Spring Boot Application, Part 3: Rules & Alerting

When your application is exposing useful metrics about how it’s behaving, there’s no fun in constantly monitoring it for problems. Instead, you need to configure rules and alerts for when those rules are broken. In this article you’ll discover how to set up such a simple email alerting system for your Spring Boot application. This is part 3 in the series about monitoring a Spring Boot application. If you’re not yet familiar with Prometheus, be sure to check out part 2 where we discuss it in detail....

Published 1 Nov 2019 · 8 min read · Tom Gregory

Monitoring A Spring Boot Application, Part 2: Prometheus

As part of a monitoring solution you’ll need a service to pull metrics from your applications, store them, and provide an easy way to query them. Prometheus is a tool which allows you to do all three. In this article you’ll learn all about Prometheus, how to set it up, point it to your application, and query it. If you want to see the high level overview of a complete monitoring solution for Spring Boot, check out last week’s blog post....

Published 25 Oct 2019 · 6 min read · Tom Gregory

Monitoring A Spring Boot Application, Part 1: Fundamentals

Being able to monitor a production application is fundamental in order to be alerted to any issues and quickly find a solution to problems. Many people seem to put in monitoring as an afterthought, or not at all. In this multi-part blog series you’ll discover how to setup monitoring, graphing, and alerting for a Spring Boot application. In part 1, you’ll get a birds eye view of the requirements involved in a complete monitoring solution....

Published 17 Oct 2019 · 6 min read · Tom Gregory