Building a Jenkins Pipeline

1 hour
  • 2 Learning Objectives

About this Hands-on Lab

Jenkins Pipelines allows you to treat all of your build logic as code. You can also integrate your build into a larger automated process that includes things like automated deployment. Pipelines are especially useful as you transition from doing CI to doing CI+CD. In this exercise, you will build a simple pipeline for a sample application. You will gain a basic familiarity with how a Jenkins Pipeline is created and how to implement simple build logic within a pipeline.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create a new Multibranch Pipeline project in Jenkins called train-schedule.

In Jenkins, click on New Item. For the item name, type train-schedule, and select Multibranch Pipeline.
Then click the OK button.

Successfully build the master branch of the train-schedule pipeline project.

Fork this project in GitHub: https://github.com/linuxacademy/cicd-pipeline-train-schedule-pipelines

On the master branch, create a Jenkinsfile. In the Jenkinsfile, create a stage that executes the gradle build with ./gradlew build --no-daemon and archives the dist/trainSchedule.zip artifact.

Configure the train-schedule multibranch pipeline project in Jenkins to build the source code from your GitHub fork and execute the build on the master branch successfully. This should produce the dist/trainSchedule.zip archived artifact.

Additional Resources

Your team is building a train scheduling app. Continuous integration has already been implemented in Jenkins, but they want to move toward doing automated deployments as well. You have been asked to build a Jenkins Pipeline project called train-schedule to build the train-schedule app. The pipeline project needs to build the code, run the automated tests, and archive the deployable zip artifact that is created by the build.

Create a fork of this sample application to work with: https://github.com/linuxacademy/cicd-pipeline-train-schedule-pipelines

To do this, you will need to:

  • Fork the source repo
  • Create a Jenkinsfile for the app
  • Create a stage to execute the gradle build
  • Archive the dist/trainSchedule.zip artifact
  • Create new multibranch pipeline project in Jenkins called train-schedule
  • Run the build successfully in Jenkins

Feel free to look at the example-solution branch of the git repo for an example of the source code changes needed for the solution.

Some useful links:

  • Jenkins Pipelines documentation: https://jenkins.io/doc/book/pipeline/

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?