O'Reilly logo
live online training icon Live Online training

Introduction to Jenkins for DevOps

Learn how to deploy, configure, and take advantage of Jenkins for CI/CD and pipeline-like workflows

Noah Gift
Alfredo Deza

Learn all about deploying, configuring, and taking advantage of Jenkins for CI/CD and pipeline workflows. Although Jenkins is quite popular for building CI/CD infrastructure, it is usually not done in a way that can scale, or that follows best practices. It is easy to get started with, but can get complicated if lacking a good foundation.

Using real-world examples in production today, the focus will be on demonstrating how proper configuration can be automated and maintained, and scale out.

What you'll learn-and how you can apply it

This training covers an introduction to the Jenkins platform, with a focus on best-practices based on real-world usage, deployment, configuration, and automation of the platform. There is a strong emphasis on pipelines.

Jenkins is a widely used CI/CD platform but the lack of a thorough understanding of best practices and scalability is pervasive: it is very easy to install Jenkins and run it, but it is difficult to set it right, with automation, to scale out and maintain it with ease. This training takes you there.

  • Learn how to deploy Jenkins for CI/CD and pipeline-like workflows.
  • Master the configuration to take full advantage of features

This training course is for you because...

  • You work as a software engineer, and you are exposed to an existing CI infrastructure that could use best practices for configuration and management.
  • You work as a DevOps or Operations Engineer, and want to introduce a robust Jenkins instance for continuous integration or continuous delivery to the organization.
  • You work as a DevOps or Operations Engineer in an organization that has an existing CI solution that is difficult to manage or is not scaling out, and want to understand how to properly deploy, configure, and manage Jenkins with the best standards.

About your instructor

  • Noah Gift is a lecturer in the University of California, Berkeley, graduate data science program, the Northwestern University graduate data science program, and the MSBA program at the University of California, Davis, Graduate School of Management. He consults with startups and other companies on machine learning and cloud architecture and does CTO-level consulting as the founder of Pragmatic AI Labs. Noah has approximately 20 years’ experience programming in Python and is a Python Software Foundation Fellow. Previously, he worked for a variety of companies in roles such as CTO, general manager, consulting CTO, and cloud architect. He’s published over 100 technical publications, including books on cloud machine learning and DevOps, for O’Reilly, Pearson, DataCamp, Udacity, and other publishers. He’s also a certified AWS Solutions Architect. Noah earned an MBA from the University of California, Davis, an MS in computer information systems from California State University, Los Angeles, and a BS in nutritional science from Cal Poly, in San Luis Obispo. You can find more about Noah by following him on GitHub, visiting his website, or connecting with him on LinkedIn.

  • Alfredo Deza is a former professional athlete and Olympian, with 10 years of professional Python and DevOps experience, creating large CI/CD environments for testing and deployments, has designed resilient infrastructure for several companies, and has instilled his passion for testing to others by automating code checks and production deployments. He has co-authored O'reilly's Python For DevOps and Testing In Python books, as well as training courses for Pearson and Udacity.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Part 1: Create Manage and Deploy Jenkins Length (90 min)

  • Create a fully functional Jenkins server based on configuration as code
  • Create and manage Jobs with Jenkins Job Builder
  • Managing Jobs with Jenkins Job Builder
  • Creating a base job as a trigger to JJB repository changes
  • Deploy Jenkins in AWS
  • Q&A (15 min)
  • Break (15 min)

Part 2: Further automation and Management Length (45 min)

  • 6.1. Plugin installation and management overview
  • 6.2. Plugin installation via jenkins-cli.jar
  • 6.3 SSH-based job nodes
  • 6.4. JNLP-based nodes using systemd
  • 6.5 API access via the Python Jenkins library
  • Q&A (10 min)
  • Break (5 min)

Part 3: Case Studies Length (45 min)

  • Building Containers with Jenkins
  • Deploying to EFS (Elastic File System) on AWS
  • Linting, testing and building a Python project
  • Deploy a static website with AWS static website
  • Q&A (15 min)