Continuous Integration with Docker and Jenkins: 4-in-1

Learn Jenkins and Docker together and bring improved speed and consistency to your automation tasks at ease.

Ratings: 3.81 / 5.00




Description

Jenkins and Docker are that widely used tools that help automate an IT Infrastructure efficiently. Using them together makes development, testing, and deployment much easier and much faster.

This comprehensive 4-in-1 course is thoroughly equipped with the concepts of Docker and Jenkins and will be able to effectively to build, test, and deploy your software.

Contents and Overview

This training program includes 4 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Getting Started with Docker, begins by introducing the basic commands in Docker. Learn how to write a Dockerfile, build an image from it, and then launch a container from that image. Get acquainted with Docker tasks such as pushing images to remote repositories, and using port mappings and the image caching layer during builds. Explore how to run Docker Services and learn how it can be used to run a group of related Docker containers.

The second course, Deploying and Running Docker Containers, walks you through a basic deployment-pipeline setup in Jenkins. Next, create two minimal Docker environments: one for development and one for production. Learn how to provide reliability and scalability to your application by setting up a cluster of Docker hosts using Docker's Swarm mode, and then automate the deployment of Docker hosts using Chef. Finally, you will monitor, log, and manage your Docker containers.

The third course, Effective Jenkins: Getting Started with Continuous Integration, covers key concepts of Continuous Integration, as well Continuous Deployment. You will understand the main parts of Jenkins and create different types of Jenkins projects to automate everything that you want. You will finish the first course by looking at a Java web project and creating the necessary steps to build and test it, thereby empowering you to implement it in a real project.

The fourth course, Effective Jenkins: Continuous Delivery with Jenkins Pipeline, covers key concepts of DevOps and delve into Jenkins Pipeline, a set of plugins that provides a toolkit for designing simple-to-complex delivery pipelines as code. To design a production-ready delivery pipeline, you will start by creating a simple pipeline and understanding Jenkins Pipeline terms and its particularities. Next, you will set up Docker to create isolated build environments. To consolidate your learning, you will create a delivery pipeline to build, test, and deploy a Java web project.

By the end of this training program you’ll be thoroughly equipped with the concepts of Docker and Jenkins and will be able to effectively to build, test, and deploy your software.

About the Authors

Viktor Farcic is a senior DevOps consultant at CloudBees , a member of the Docker Captains  group, and an author. He codes using a plethora of languages starting with Pascal (yes, he is old), Basic (before it got the Visual prefix), ASP (before it got the .NET suffix), C, C++, Perl, Python, ASP.NET, Visual Basic, C#, JavaScript, Java, Scala, and so on. He has never worked with Fortran. His current favorite is Go. Viktor's big passions are Microservices, Continuous Deployment, and Test-Driven Development (TDD). He often speaks at community gatherings and conferences. Viktor wrote Test-Driven Java Development and The DevOps 2.1 Toolkit: Docker Swarm, both by Packt Publishing. His random thoughts and tutorials can be found in his blog TechnologyConversations.

Allan Espinosa is a DevOps practitioner and an active open source contributor to various distributed systems tools, such as Docker and Chef. Allan maintains several Docker images for popular open source software that were popular even before their official release from the upstream open source groups. Throughout his career, Allan has worked on large distributed systems containing hundreds to thousands of servers in production. He has built scalable applications on various platforms ranging from large supercomputing centers to production clusters in the enterprise. He is currently managing distributed systems at scale for Bloomberg, where he oversees the company's Hadoop infrastructure. Allan can be contacted through his Twitter handle @AllanEspinosa. His personal website at espinosa contains several blog posts on Docker and distributed systems in general.

Rodrigo is a Certified Jenkins Engineer and has 14+ years' experience in software development with different programming languages and technologies in different countries (Brazil, US, Portugal, Germany, and Austria) and projects in companies ranging from financial institution to game and e-commerce ventures including Walmart, Goodgame Studios and HERE. He is an enthusiastic practitioner of Agile methodologies, Continuous Delivery, and DevOps, with large-scale adoption experience. He is always seeking to optimize the software development life cycle through automation, process improvements, and developing new tools and techniques. Rodrigo holds a B.S. in Computer Science and a postgraduate qualification in Software Engineering.

What You Will Learn!

  • Write a Dockerfile to build an image from it, and launch a container from that image
  • Deploy and run Docker containers efficiently by setting up Jenkins consistently and measuring your performance optimizations
  • Monitor, log and manage Docker containers and master the components required to run Docker in production
  • Master the art of Jenkins management like adding a build node, security and plugin management
  • Work with automated builds of Jenkins like freestyle project, Git, scheduled builds, and up/downstream jobs
  • Build and test Java web applications

Who Should Attend!

  • Developers, software architects, technical project managers, build managers, or a development or QA engineer.