Creating a Spring Boot application for CloudBees Jenkins X Distribution
Java microservices developers can leverage the opinionated resources and preconfigured components of Spring Boot. This software framework takes the Spring platform and adds preconfigured components, third-party libraries, software packagers, and command-line tools for running specialized scripts.
The aim of Spring Boot is to create Spring-based software such as microservices, which can be deployed using the java
command-line runtime or standalone Web Application Resource (WAR) package files. Spring Boot uses Spring as a foundation for development, and enhances it with components that provides faster development and deployment, opinionated configuration and setup to get started developing microservices quickly, and a plugin framework that features Maven and Gradle project support.
Spring Boot and CloudBees Jenkins X Distribution
You can incorporate CloudBees Jenkins X Distribution into your Spring Boot projects in two ways:
-
By importing existing Spring Boot code using
jx import
-
By creating a Spring Boot application from scratch using
jx create spring
Importing existing Spring Boot projects
If you have an Spring Boot project that you want to manage builds using CloudBees Jenkins X Distribution, you can use jx import
to commit your code to a Git service such as GitHub, add a Dockerfile
to build your Spring Boot project as a Docker image, a pipeline.yaml
to your ~/.jx/
directory that manages the development pipeline, and a Helm chart for running as a package in Kubernetes.
-
Change into your Spring Boot project directory:
cd acme-springapp/
-
Run the import from a command-line:
jx import
-
The application asks for your Git username (such as
acmeuser
). -
The application asks if you wan to initialize your project in Git.
-
The application asks you what organization to use for managing builds (for example,
acmecorp
) -
The application asks if you want to name your repository (such as
acme-springapp1
)
You can now perform builds, commit project code to your newly created Git repository, and CloudBees Jenkins X Distribution will automatically process pull requests and create previews for your applications for testing and validation.
Creating a Spring Boot application
If you are evaluating Spring Boot in your CloudBees Jenkins X Distribution environment and need an application template of a Spring Boot project that is preconfigured with CI/CD pipeline and GitOps promotion, use jx create
to make the preconfigured project.
-
Run the Spring Boot creation via command-line:
$ jx create spring
-
The application asks for your Git username (such as
acmeuser
) -
The application lets you choose your Git organization from an available list
-
The application asks for a repository name, such as
acme-springapp1
-
The application prompts you for the development language for your project (by default,
java
) -
The application prompts you for a group ID (by default,
com.example
) -
The application prompts you for any Spring Boot starters, or dependency descriptors that you can use to make your development smoother and quicker.
CloudBees recommends at minimum the
Actuator
andWeb
dependencies, which you can activate by moving to those checkboxes and hitting the Space Bar to select them. -
The application prompts you to initialize Git
Spring Boot projects managed by CloudBees Jenkins X Distribution
The two methods of configuring Spring Boot projects in CloudBees Jenkins X Distribution performs several actions:
-
Create a new Spring Boot application in a local subdirectory
-
Add your source code into a Git repository
-
Create a remote git repository on a git service, such as GitHub
-
Commit your code to the remote Git service
-
Adds default build files to your project:
-
A
Dockerfile
to build your application as a docker image -
A
pipeline.yaml
to implement the CI / CD pipeline -
A helm chart to run your application inside Kubernetes
-
-
Registers a webhook (such as
http://hook-jx.192.169.1.100.nip.io/hook
) on the remote git repository -
trigger the first pipeline build
You can now use your Git-enabled local project subdirectory to make changes to your Spring Boot application, push those changes to Git, and automatically have CloudBees Jenkins X Distribution build, create previews for testing and validation, and promote your app to production for general usage.
If you have any questions or feedback on the CloudBees Jenkins X Distribution documentation, send them to jx-feedback@cloudbees.com.