Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Trampoline vBeta: Managing Spring Boot Locally

DZone's Guide to

Trampoline vBeta: Managing Spring Boot Locally

Learn about the beta release of Trampoline, an open source tool for Spring Boot developers to manage microservices locally.

· DevOps Zone
Free Resource

The Nexus Suite is uniquely architected for a DevOps native world and creates value early in the development pipeline, provides precise contextual controls at every phase, and accelerates DevOps innovation with automation you can trust. Read how in this ebook.

Knowing that not all features can be included on a first product major release, an alpha version of Trampoline was launched in July, and these are the numbers:

In front of all these numbers, the Trampoline Team decided to move forward with a beta version which would improve usability, thanks to a clean and fresh new User Interface and new features such as Gradle compatibility, configurable VM arguments during launching phase, an extension of the deployed instance information or group microservices and launch them with a single click.

Moreover, feedback communication has been introduced in order to reduce our distance.

Trampoline vBeta: Walkthrough

Before starting this guided tour on Trampoline, we would like to remind you that to enjoy all these new features, the only requirement is to include the actuator starter on your Spring Boot microservices as well as the /logfile endpoint through well-known logging properties. Saying that, let's move to the walkthrough.

Going to the Trampoline Repository, in the releases section, we will be able to download the latest published release. Thenstart Trampoline, for instance using mvn spring-boot:run or, if you prefer, ./gradlew (or gradle.bat) bootRun.

Finally, go to http://localhost:8080.

Dashboard Section

From the new Trampoline Dashboard you will be able to visualize some statistics, such as memory usage statistics from your computer or microservices registered or launched. Moreover, you will be able to watch whether the required Maven information has been introduced or not in the settings section.

Trampoline Dahsboard

Settings Section

The first move you should perform is to set up your Maven home (or binary) location and start registering microservices in the Settings Section.

For each microservice, you will define the following information: name, default port, pom or build location, build tool, actuator prefix, and VM default arguments.

If we decide to use Maven as a build tool, first we'll have to set our Maven location. On the contrary, if we decide to use a Gradle wrapper, it must be placed in our microservices folder. Nothing else will be required.

Image title

Also, here you will have the possibility to create groups of services and to remove old or unused microservices you previously registered. 

Instances Section

Once the previous step has been completed, you will be able to move to the Instances Section. There you will have the possibility to start instances and set the desired server port or VM arguments. When it is deployed, Trampoline allows you to monitor status, memory consumption, traces, and logs, or shut them down.

Image title

Feedback

Last but not least, you will find a Feedback button which will redirect you to the GitHub repo where you will be able to create issues or raise questions and enhancements. We would love to hear from you!

Image title

Join and Contribute!

During the course of this post, we identified the situation Trampoline tries to help with. We've shown an overview of its functionalities, as well as a short tutorial on how to register a service and how to monitor it. This is an open source project and you are welcome to contribute.

The DevOps Zone is brought to you in partnership with Sonatype Nexus.  See how the Nexus platform infuses precise open source component intelligence into the DevOps pipeline early, everywhere, and at scale. Read how in this ebook

Topics:
spring ,spring boot ,cloud ,deployment ,devops

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}