O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Jenkins Fundamentals

Book Description

Continuous integration with Jenkins speeds up your projects and saves you time and money

Key Features

  • Get a perfect balance of theories and hands-on activities
  • Apply continuous integration and delivery to your workflow
  • Explore concepts such as the plugin ecosystem and adaptive build parameters, among others

Book Description

Jenkins Fundamentals teaches you everything you need to know about installing, setting up, configuring, and integrating a Jenkins server with your project to speed up the product development life cycle. You will learn how to deploy via Docker and integrate with Git. Next you will move on to understanding bespoke plugins and services to further customize your workflow, and dynamically adjust your build requirements when pushing to production.

Once you have grasped the basics, you will explore user and plugin management along with updating and upgrading Jenkins. You will set up freestyle projects and views to manage your projects, followed by configuring parameters for your projects and creating upstream and downstream projects with views to visualize the projects. In addition to this, you will create a secure connection from your master to your build slaves and configure your build tasks to run on the slave.

By the end of this book, you will be able to successfully set up a Jenkins server that checks your source code repositories for changes, triggering new builds and unit tests while informing all of the key stakeholders in your organization.

What you will learn

  • Set up and deploy a Jenkins server across different platforms via Docker
  • Design development workflows that enable continuous integration and then easily integrate with Jenkins
  • Explore community plugins and use them to extend core Jenkins functionality
  • Set up a freestyle project as well as a view to manage your projects
  • Understand source control and pipelines, and build parameters in the context of Git and Jenkins
  • Configure general-purpose freestyle projects, or use more formal pipeline-driven implementation
  • Explore concepts such as the plugin ecosystem and adaptive build parameters, among others
  • Apply continuous integration and delivery to your workflow

Who this book is for

Jenkins Fundamentals is for you if you are a software developer, with prior experience in application development, looking to build and transition to a more centrally managed deployment process.

This book is ideal if you need a real-world introduction to continuous delivery, with a view to setting up and using Jenkins as a tool for your own software development life cycle.

Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Jenkins Fundamentals
  3. Packt Upsell
    1. Why subscribe?
    2. PacktPub.com
  4. Contributors
    1. About the Authors
    2. Packt is Searching for Authors Like You
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Conventions used
    4. Get in touch
      1. Reviews
  6. Installing and Setting up Jenkins
    1. Continuous Delivery
    2. Installing Jenkins
      1. Setting up Jenkins
    3. The Jenkins Dashboard
    4. User Management
      1. User Management
      2. Activity: User Management and Security
    5. Summary
  7. Administering Jenkins
    1. Plugin Management
      1. Principles of Plugin Usage
        1. Administration Plugins
        2. User Interface (UI) Plugins
        3. Source Code Management (SCM) Plugins
        4. Build Management Plugins
      2. Setting up Jenkins with Plugins
      3. Installing a Sample Plugin
      4. Activity: Plugin Management
    2. Updating and Upgrading Jenkins
      1. Maintenance Windows
      2. Host Metrics
      3. Retrieving Jenkins Logs and Metrics
        1. Memory
        2. Improving Memory Management
        3. Upgrading our Jenkins Server
        4. Checking the Version Release Notes
      4. Activity: Upgrades and Updates
    3. Configuring Jenkins for Production
      1. Evaluating our Jenkins Server
        1. Access Points
        2. Access Control
      2. Testing the Access Control
        1. Services and Plugins
    4. Summary
  8. Jenkins Views and Freestyle Projects
    1. Freestyle Projects
      1. Setting up Freestyle Projects
      2. Setting up the Build
      3. Activity: Setting up a Freestyle Project
    2. Setting up a View to Manage our Projects
      1. Setting up Jenkins Views Privileges
      2. Setting up Views
      3. Activity: Setting up a View to Manage our Projects
    3. Summary
  9. Parameterized and Up/Downstream Project
    1. Configuring Parameters for Projects
      1. Parameterized Projects
    2. Creating and Accessing Build Parameters
      1. Creating and Accessing String Parameters
      2. Activity: Setting up Parameterized Projects and Accessing Parameters
    3. Build Triggers
      1. Creating Upstream/Downstream Projects
      2. Running an Upstream Project
      3. Activity: Building a GitHub Project
    4. Summary
  10. Jenkins Pipelines
    1. The CI Workflow
      1. Git Branches
      2. Setting up our Repository
      3. Creating a GitHub Repository and Integrating Jenkins
    2. The Jenkinsfile
      1. Creating the Pipeline
      2. Installing Blue Ocean
    3. Creating Multibranch Pipelines
      1. Global Variables
      2. Building Pull Requests
      3. Activity: Creating a Pipeline
    4. Summary
  11. Distributed Builds on Jenkins
    1. Setting up our Slaves
      1. Distributed Builds
      2. The Master-Slave Model
      3. Setting up our Nodes
      4. Stopping the Docker Container
      5. Verifying Node Connectivity
    2. Securely Connecting to the Slaves
      1. Adding Slave Nodes
      2. Activity: Adding Slave Nodes in Jenkins
    3. Configuring Tasks to Run on our Slaves
      1. Running Freestyle Projects on a Node
      2. Running Pipelines on Different Nodes
      3. Spinning Down the Vagrant Environment
      4. Activity: Bringing it all Together
    4. Summary
  12. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think