CI/CD with Spring Boot and Jenkins Pipelines

This page summarizes the projects mentioned and recommended in the original post on dev.to

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • JaCoCo

    :microscope: Java Code Coverage Library

  • Code coverage analysis tools quantify the amount of tested code, serving as a valuable tool to inform on code structure and testing related decisions. We will make use of JaCoCo, JaCoCo produces reports on multiple kinds of code coverage metrics including instructions, line and branch coverage.

  • jib

    🏗 Build container images for your Java applications.

  • In this section, we will setup the automated generation and deployment of a Docker container image. You will need a Docker Hub account and the Jib Gradle Plugin.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • heroku-gradle-plugin

    Discontinued A Gradle plugin for deploying JAR and WAR files to Heroku.

  • We will tackle deployment as a final step, using Heroku platform as a service to host the spring boot application. You will need a Heroku account and the Heroku Gradle plugin.

  • initializr

    A quickstart generator for Spring projects

  • A simple Spring Boot application using Gradle build tool can be created using Spring Initializr. You will need the Web dependency to configure your app as a web application. The Actuator dependency will provide a url to check the status of your application. Afterwards, generate, download and extract your application. Using an appropriate IDE, open your project files.

  • TDDSampleJenkins

    TDD sample app used to demo CI/CD using Jenkins

  • You can find the complete code on GitHub.

  • Puts Debuggerer

    Ruby library for improved puts debugging, automatically displaying bonus useful information such as source line number and source code.

  • node { stage("Clone project") { git branch: 'main', url: 'https://github.com//.git' } stage("Build project with test execution") { sh "./gradlew build" } stage("Deploy to DockerHub with Jib and to Heroku") { parallel([ docker: { withCredentials([usernamePassword(credentialsId: 'DOCKER_CRED', usernameVariable: 'DOCKER_USERNAME', passwordVariable: 'DOCKER_PASSWORD')]) { sh ''' echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin ./gradlew jib -Djib.to.auth.username="${DOCKER_USERNAME}" -Djib.to.auth.password="${DOCKER_PASSWORD}" ''' } }, heroku: { withCredentials([string(credentialsId: 'HEROKU_KEY', variable: 'HEROKU_API_KEY')]) { sh './gradlew deployHeroku' } } ]) } jacoco( execPattern: '**/*.exec', sourcePattern: 'src/main/java', exclusionPattern: 'src/test*' ) }

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Using OAuth2.0 and Retrofit to talk to the GitHub api on Android

    3 projects | dev.to | 11 Jul 2023
  • Best cloud sync software for media production?

    4 projects | /r/DataHoarder | 29 Mar 2023
  • Milligram CSS: カスタム・ビルド (Node.js 18 on Alpine Linux 3.17 使用)

    4 projects | dev.to | 11 Feb 2023
  • Pushing container images to GitHub Container Registry with GitHub Actions

    3 projects | dev.to | 1 Dec 2022
  • Best Option for Sharing a Folder of Code with Other People?

    2 projects | /r/Ubuntu | 1 Mar 2021