Answering “What’s Running, Where” with Atomist

Russ Miles
Aug 8, 2017 · 3 min read

As part of our mission to bring the important information to where the team is and make it actionable, Atomist surfaces all sorts of valuable information about the state of your services. In a previous post we saw an example of how Atomist surfaces the PR workflow into Slack so that you and your team can collaborate on it in a cohesive and transparent way.

As soon as Atomist is added to your team and hooked up to GitHub then you will be able to see and work with issues, commits and branches. Add in CI support and Atomist will surface your builds (including direct messages to anyone whose push results in a failed build!).

However this blog post goes beyond code and CI/CD… into the realm of the Runtime with a specific example for Spring Boot projects.

Introducing the Atomist Spring Boot Agent

In the previous article there was a little, hidden “Easter Egg”; a hint into what we’re going to talk about here. If you watched the accompanying video for that blog post you would have seen that we used the Atomist command @atomist add spring agent to get Atomist to create a branch and a PR of that branch so that we could see and work with the PR workflow in Slack.

This post is about the Spring Agent that the @atomist add spring agent command adds.

Let’s look a little more closely at what that PR did when we merged it into our Spring Boot project.

The first thing it did was add a new spring-boot-agent dependency to the project and a repository block that is necessary to resolve that dependency.

The spring-boot-agent dependency
The new “repository” block

It then added the git-commit-id-plugin before finally adding some default properties to the project’s src/main/resources/application.properties file.

The added git-commit-id-plugin
The new properties that are added to the src/main/resources/application.yml

Once we merged that into the project using the convenient and useful Merge button Atomist surfaced as part of the PR workflow, those changes got added into our project… but what do they do?

Atomist, Meet Runtime Instances

To see what’s happened we have to run the Spring Boot project that we’ve just merged those changes into. The easiest way to do that is to clone the repository and execute our application using mvn spring-boot:run.

When you run your project locally you should see something unfamiliar at the end of the startup messages in your terminal:

Spring Boot application sending back rudimentary runtime information to Atomist

Now go check the Slack channel tied to this project (see a future post on just how that can be done) and you should see something knew there:

Atomist can now surface information about the Runtime Instances of your project

Atomist is now aware of these running instances of our project. We’ve successfully extended the information that Atomist can surface to the team into the realm of the Runtime, but that’s only the beginning…

The following is a full video of adding the Atomist Spring Boot agent to a Spring Boot project to surface runtime instance information directly into Slack. You can also try out Spring Agent for yourself by adding Atomist your Slack team and running @atomist add spring agent:

Add the Spring Agent and then see your project’s running instances in Slack

Thanks to David Dooling, Will Gardella, and Ryan Day

Russ Miles

Written by

https://twitter.com/russmiles

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade