CI/CD with Spring Boot and Jenkins Pipelines

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

Our great sponsors
  • ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
  • InfluxDB - Access the most powerful time series database as a service
  • Sonar - Write Clean Java Code. Always.
  • CodiumAI - TestGPT | Generating meaningful tests for busy devs
  • 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.

  • ONLYOFFICE

    ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises

  • heroku-gradle-plugin

    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