Articles

Spring Boot Default Metrics

Spring Boot Default Metrics

May 22, 2020Tom Gregory11 min read
Gradle Task Inputs and Outputs

Gradle Task Inputs and Outputs

Jul 1, 2021Tom Gregory15 min read
How to Exclude Gradle Dependencies

How to Exclude Gradle Dependencies

Aug 6, 2021Tom Gregory13 min read
Gradle Tutorial for Complete Beginners

Gradle Tutorial for Complete Beginners

Oct 2, 2021Tom Gregory24 min read
View the Gradle Dependency Tree

View the Gradle Dependency Tree

Mar 29, 2021Tom Gregory7 min read
Monitoring A Spring Boot Application, Part 2: Prometheus

Monitoring A Spring Boot Application, Part 2: Prometheus

Oct 25, 2019Tom Gregory7 min read
Setup Spring Boot Behind a Load Balancer Using the X-Forwarded Headers

Setup Spring Boot Behind a Load Balancer Using the X-Forwarded Headers

Oct 12, 2020Tom Gregory9 min read
Gradle Build Command

Gradle Build Command

Sep 28, 2021Tom Gregory5 min read
Running integration tests in Gradle

Running integration tests in Gradle

Sep 23, 2021Tom Gregory7 min read
How To Build an Effective Buy Button for Your Website

How To Build an Effective Buy Button for Your Website

The 'Buy' button is the most important button on your website. Here's the simplest way to create a visually appealing button so customers can start purchasing your product.

Nov 30, 2024Tom Gregory7 min read
Running Java in AWS Lambda

Running Java in AWS Lambda

Apr 29, 2024Tom Gregory11 min read
7 Hidden Spring Boot Features You Need To Enable NOW!

7 Hidden Spring Boot Features You Need To Enable NOW!

Apr 17, 2024Tom Gregory11 min read
Using Gradle Build Scan To Optimise Your Build Process

Using Gradle Build Scan To Optimise Your Build Process

Nov 21, 2023Tom Gregory5 min read
Run Tests in Parallel To Speed Up Your Gradle Build

Run Tests in Parallel To Speed Up Your Gradle Build

When working with slow tests, parallelising them is the first step towards faster builds.

Nov 13, 2023Tom Gregory4 min read
Faster Tests By Disabling Gradle Test Reports

Faster Tests By Disabling Gradle Test Reports

Don't waste any more time waiting for tests to run locally by implementing this quick build script fix.

Nov 8, 2023Tom Gregory5 min read
Did You Update Yet to Latest Java 21?

Did You Update Yet to Latest Java 21?

Streamline your code with new language features in this latest Java LTS release.

Sep 19, 2023Tom Gregory6 min read
Don’t Use Gradle Without Understanding These Kotlin Essentials

Don’t Use Gradle Without Understanding These Kotlin Essentials

Gradle is now Kotlin first, so learn these 5 Kotlin language features to get comfortable in Kotlin build scripts.

Sep 6, 2023Tom Gregory8 min read
Using JUnit 5 With Gradle's Kotlin DSL

Using JUnit 5 With Gradle's Kotlin DSL

Learn this simple build script configuration to run JUnit 5 tests.

Aug 15, 2023Tom Gregory7 min read
Gradle vs. npm

Gradle vs. npm

Dec 31, 2022Tom Gregory7 min read
Ultimate CORS Guide for Developers

Ultimate CORS Guide for Developers

Why CORS exists, how it works, and how to use it to properly setup cross-origin requests.

Dec 6, 2022Tom Gregory24 min read
13 Simple Ways To Edit Code Faster in IntelliJ IDEA

13 Simple Ways To Edit Code Faster in IntelliJ IDEA

Are you making the most of IntelliJ IDEA for basic code editing? Here are 13 time-saving shortcuts for navigating, highlighting, and moving code.

Aug 28, 2022Tom Gregory5 min read
Which JDK Version and Vendor Should You Use on Your Project?

Which JDK Version and Vendor Should You Use on Your Project?

With so many versions and vendors available, choosing which JDK to use can be confusing. Discover the most important facts to help you decide.

Jul 29, 2022Tom Gregory14 min read
Optional in Java: Everything You Need To Know

Optional in Java: Everything You Need To Know

Learn everything you need to know about Java's Optional: how it works, what problems it helps solve, and when not to use it.

Jul 17, 2022Tom Gregory22 min read
Jar vs. Zip Files: The Key Differences

Jar vs. Zip Files: The Key Differences

Learn everything you need to know about the differences between jar and zip files, with practical tips and examples along the way.

May 15, 2022Tom Gregory8 min read
JDK vs. JRE: The Key Differences

JDK vs. JRE: The Key Differences

Discover why the JDK & JRE exist, their differences & similarities, and practically how to use them.

May 10, 2022Tom Gregory9 min read
JAVA_HOME vs. PATH Environment Variables

JAVA_HOME vs. PATH Environment Variables

Learn what JAVA_HOME and PATH do, when to use them, and how to set them up in Windows.

May 2, 2022Tom Gregory6 min read
10 Best Gradle Plugins for Java Projects

10 Best Gradle Plugins for Java Projects

May 1, 2022Tom Gregory6 min read
Integration Test Code Coverage with SonarQube and Jacoco

Integration Test Code Coverage with SonarQube and Jacoco

Apr 18, 2022Tom Gregory6 min read
The Unknown Maven Repository System Powering Java

The Unknown Maven Repository System Powering Java

There's another side to Maven: a vital repository system serving up dependencies for the millions of daily Java builds.

Apr 7, 2022Tom Gregory7 min read
Maven phases vs. goals

Maven phases vs. goals

Apr 1, 2022Tom Gregory8 min read
4 Benefits Of Using Gradle Multi-Project Builds

4 Benefits Of Using Gradle Multi-Project Builds

Mar 1, 2022Tom Gregory9 min read
How to add a Gradle dependency

How to add a Gradle dependency

Jan 14, 2022Tom Gregory6 min read
Gradle assemble task essentials

Gradle assemble task essentials

Jan 13, 2022Tom Gregory4 min read
Gradle check task essentials

Gradle check task essentials

Jan 12, 2022Tom Gregory4 min read
Maven vs. Gradle in-depth comparison

Maven vs. Gradle in-depth comparison

Dec 17, 2021Tom Gregory16 min read
Jib vs. Spring Boot for building Docker images

Jib vs. Spring Boot for building Docker images

Discover why using a Docker image build tool like Jib or the Spring Boot plugin is a good idea and how to set it up to build your application.

Nov 30, 2021Tom Gregory16 min read
How to build Gradle projects with GitHub Actions

How to build Gradle projects with GitHub Actions

Nov 22, 2021Tom Gregory20 min read
10 Gradle best practices to supercharge your project

10 Gradle best practices to supercharge your project

Jul 7, 2021Tom Gregory13 min read
bmuschko Docker Gradle plugin review

bmuschko Docker Gradle plugin review

Jun 15, 2021Tom Gregory11 min read
Using Jenkins and Kaniko to build Docker images in AWS

Using Jenkins and Kaniko to build Docker images in AWS

Learn how to use Kaniko from Jenkins to easily build and push Docker images.

May 22, 2021Tom Gregory12 min read
5 ways to inject secrets from AWS into Jenkins pipelines

5 ways to inject secrets from AWS into Jenkins pipelines

Discover 5 better ways to manage secrets required by your Jenkins jobs.

Apr 26, 2021Tom Gregory8 min read
SonarQube branch analysis

SonarQube branch analysis

Apr 5, 2021Tom Gregory6 min read
All about the Gradle task graph

All about the Gradle task graph

Mar 22, 2021Tom Gregory8 min read
3 surprising facts about AWS SQS FIFO queues

3 surprising facts about AWS SQS FIFO queues

Discover the 3 most important caveats with SQS FIFO queues.

Mar 8, 2021Tom Gregory9 min read
3 options for cross-account VPC access in AWS

3 options for cross-account VPC access in AWS

Feb 15, 2021Tom Gregory19 min read
gradle vs. gradlew - what's the difference?

gradle vs. gradlew - what's the difference?

Feb 6, 2021Tom Gregory4 min read
How and when to use a Prometheus gauge

How and when to use a Prometheus gauge

Feb 5, 2021Tom Gregory6 min read
S3 bucket access from the same and another AWS account

S3 bucket access from the same and another AWS account

Nov 30, 2020Tom Gregory16 min read
Setup Jenkins to assume a role in another AWS account

Setup Jenkins to assume a role in another AWS account

Setup Jenkins to access resources in another AWS account using one of these 4 assume role methods.

Nov 7, 2020Tom Gregory28 min read
AWS Fargate Spot vs. Fargate price comparison

AWS Fargate Spot vs. Fargate price comparison

Nov 2, 2020Tom Gregory9 min read
Add SonarQube quality gates to your Jenkins build pipeline

Add SonarQube quality gates to your Jenkins build pipeline

Learn to add SonarQube analysis and quality gate stages to a Jenkins pipeline.

Oct 19, 2020Tom Gregory8 min read
Using Jenkins Configuration as Code to setup AWS slave agents automatically

Using Jenkins Configuration as Code to setup AWS slave agents automatically

Automate your Jenkins cloud configuration setup using Jenkins Configuration as Code.

Oct 5, 2020Tom Gregory14 min read
Running Jenkins jobs in AWS ECS with slave agents

Running Jenkins jobs in AWS ECS with slave agents

Learn how to run Jenkins jobs in slave Fargate containers in AWS ECS.

Sep 29, 2020Tom Gregory17 min read
Anatomy of a Gradle build script: the key to understanding Gradle

Anatomy of a Gradle build script: the key to understanding Gradle

Sep 11, 2020Tom Gregory4 min read
Deploy your own production-ready Jenkins in AWS ECS

Deploy your own production-ready Jenkins in AWS ECS

Discover all the pieces required to deploy a production-ready Jenkins master into AWS Elastic Container Service. You can take the best parts of the provided CloudFormation template, and apply them to your own setup.

Aug 4, 2020Tom Gregory20 min read
Annotation Processors in Gradle with the annotationProcessor Dependency Configuration

Annotation Processors in Gradle with the annotationProcessor Dependency Configuration

Jun 26, 2020Tom Gregory6 min read
How to update Gradle

How to update Gradle

Jun 17, 2020Tom Gregory3 min read
Prometheus service discovery for AWS ECS

Prometheus service discovery for AWS ECS

Jun 15, 2020Tom Gregory18 min read
Gradle implementation vs. compile dependencies

Gradle implementation vs. compile dependencies

Jun 6, 2020Tom Gregory5 min read
Gradle Project Properties Best Practices

Gradle Project Properties Best Practices

May 15, 2020Tom Gregory6 min read
Unleashing the Spring Boot Gradle plugin

Unleashing the Spring Boot Gradle plugin

May 8, 2020Tom Gregory6 min read
AWS SNS for CloudWatch alarm email notifications

AWS SNS for CloudWatch alarm email notifications

May 1, 2020Tom Gregory8 min read
Shipping AWS EC2 logs to CloudWatch with the CloudWatch agent

Shipping AWS EC2 logs to CloudWatch with the CloudWatch agent

Apr 24, 2020Tom Gregory11 min read
Running Docker in Docker on Windows (Linux containers)

Running Docker in Docker on Windows (Linux containers)

Apr 17, 2020Tom Gregory9 min read
When to use an AWS S3 VPC endpoint

When to use an AWS S3 VPC endpoint

Apr 10, 2020Tom Gregory8 min read
Deploying a Spring Boot application into AWS with Jenkins (part 3 of microservice devops series)

Deploying a Spring Boot application into AWS with Jenkins (part 3 of microservice devops series)

How to take a Docker image and deploy it into AWS Elastic Container Service.

Apr 4, 2020Tom Gregory16 min read
Building a Spring Boot application in Docker and  Jenkins (part 2 of microservice devops series)

Building a Spring Boot application in Docker and Jenkins (part 2 of microservice devops series)

How to get a Spring Boot application running in a Docker container.

Mar 29, 2020Tom Gregory13 min read
Building a Spring Boot application in Jenkins (part 1 of microservice devops series)

Building a Spring Boot application in Jenkins (part 1 of microservice devops series)

Create a Spring Boot API application and build it in Jenkins every time a change is pushed.

Mar 22, 2020Tom Gregory14 min read
What's the Gradle Wrapper and Why Use it?

What's the Gradle Wrapper and Why Use it?

Mar 14, 2020Tom Gregory7 min read
How to use Gradle api vs. implementation dependencies with the Java Library plugin

How to use Gradle api vs. implementation dependencies with the Java Library plugin

Feb 29, 2020Tom Gregory11 min read
Introduction to writing Gradle plugins

Introduction to writing Gradle plugins

Feb 21, 2020Tom Gregory12 min read
How to do a Maven to Gradle migration on a Java Spring Boot project

How to do a Maven to Gradle migration on a Java Spring Boot project

Feb 14, 2020Tom Gregory7 min read
When to create different subnets in AWS VPCs

When to create different subnets in AWS VPCs

Jan 24, 2020Tom Gregory7 min read
Gradle Lifecycle Evaluation Order For Multi-Project Builds

Gradle Lifecycle Evaluation Order For Multi-Project Builds

Dec 27, 2019Tom Gregory9 min read
How to Measure Code Coverage Using SonarQube and Jacoco

How to Measure Code Coverage Using SonarQube and Jacoco

Dec 13, 2019Tom Gregory8 min read
How To Secure Your Gradle Credentials In Jenkins

How To Secure Your Gradle Credentials In Jenkins

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

Dec 6, 2019Tom Gregory13 min read
The 4 Types Of Prometheus Metrics

The 4 Types Of Prometheus Metrics

Dec 2, 2019Tom Gregory14 min read
Monitoring A Spring Boot Application, Part 4: Visualisation & Graphing

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

Nov 8, 2019Tom Gregory7 min read
Monitoring A Spring Boot Application, Part 3: Rules & Alerting

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

Nov 1, 2019Tom Gregory9 min read
Monitoring A Spring Boot Application, Part 1: Fundamentals

Monitoring A Spring Boot Application, Part 1: Fundamentals

Oct 17, 2019Tom Gregory6 min read