Continuous Delivery with Docker and Jenkins

Continuous Delivery with Docker and Jenkins
Author: Rafal Leszko
Publisher: Packt Publishing Ltd
Total Pages: 326
Release: 2017-08-24
Genre: Computers
ISBN: 1787126145

Unleash the combination of Docker and Jenkins in order to enhance the DevOps workflow About This Book Build reliable and secure applications using Docker containers. Create a complete Continuous Delivery pipeline using Docker, Jenkins, and Ansible. Deliver your applications directly on the Docker Swarm cluster. Create more complex solutions using multi-containers and database migrations. Who This Book Is For This book is indented to provide a full overview of deep learning. From the beginner in deep learning and artificial intelligence to the data scientist who wants to become familiar with Theano and its supporting libraries, or have an extended understanding of deep neural nets. Some basic skills in Python programming and computer science will help, as well as skills in elementary algebra and calculus. What You Will Learn Get to grips with docker fundamentals and how to dockerize an application for the Continuous Delivery process Configure Jenkins and scale it using Docker-based agents Understand the principles and the technical aspects of a successful Continuous Delivery pipeline Create a complete Continuous Delivery process using modern tools: Docker, Jenkins, and Ansible Write acceptance tests using Cucumber and run them in the Docker ecosystem using Jenkins Create multi-container applications using Docker Compose Managing database changes inside the Continuous Delivery process and understand effective frameworks such as Cucumber and Flyweight Build clustering applications with Jenkins using Docker Swarm Publish a built Docker image to a Docker Registry and deploy cycles of Jenkins pipelines using community best practices In Detail The combination of Docker and Jenkins improves your Continuous Delivery pipeline using fewer resources. It also helps you scale up your builds, automate tasks and speed up Jenkins performance with the benefits of Docker containerization. This book will explain the advantages of combining Jenkins and Docker to improve the continuous integration and delivery process of app development. It will start with setting up a Docker server and configuring Jenkins on it. It will then provide steps to build applications on Docker files and integrate them with Jenkins using continuous delivery processes such as continuous integration, automated acceptance testing, and configuration management. Moving on you will learn how to ensure quick application deployment with Docker containers along with scaling Jenkins using Docker Swarm. Next, you will get to know how to deploy applications using Docker images and testing them with Jenkins. By the end of the book, you will be enhancing the DevOps workflow by integrating the functionalities of Docker and Jenkins. Style and approach The book is aimed at DevOps Engineers, developers and IT Operations who want to enhance the DevOps culture using Docker and Jenkins.

Pipeline as Code

Pipeline as Code
Author: Mohamed Labouardy
Publisher: Simon and Schuster
Total Pages: 750
Release: 2021-11-23
Genre: Computers
ISBN: 163835037X

Start thinking about your development pipeline as a mission-critical application. Discover techniques for implementing code-driven infrastructure and CI/CD workflows using Jenkins, Docker, Terraform, and cloud-native services. In Pipeline as Code, you will master: Building and deploying a Jenkins cluster from scratch Writing pipeline as code for cloud-native applications Automating the deployment of Dockerized and Serverless applications Containerizing applications with Docker and Kubernetes Deploying Jenkins on AWS, GCP and Azure Managing, securing and monitoring a Jenkins cluster in production Key principles for a successful DevOps culture Pipeline as Code is a practical guide to automating your development pipeline in a cloud-native, service-driven world. You’ll use the latest infrastructure-as-code tools like Packer and Terraform to develop reliable CI/CD pipelines for numerous cloud-native applications. Follow this book's insightful best practices, and you’ll soon be delivering software that’s quicker to market, faster to deploy, and with less last-minute production bugs. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Treat your CI/CD pipeline like the real application it is. With the Pipeline as Code approach, you create a collection of scripts that replace the tedious web UI wrapped around most CI/CD systems. Code-driven pipelines are easy to use, modify, and maintain, and your entire CI pipeline becomes more efficient because you directly interact with core components like Jenkins, Terraform, and Docker. About the book In Pipeline as Code you’ll learn to build reliable CI/CD pipelines for cloud-native applications. With Jenkins as the backbone, you’ll programmatically control all the pieces of your pipeline via modern APIs. Hands-on examples include building CI/CD workflows for distributed Kubernetes applications, and serverless functions. By the time you’re finished, you’ll be able to swap manual UI-based adjustments with a fully automated approach! What's inside Build and deploy a Jenkins cluster on scale Write pipeline as code for cloud-native applications Automate the deployment of Dockerized and serverless applications Deploy Jenkins on AWS, GCP, and Azure Grasp key principles of a successful DevOps culture About the reader For developers familiar with Jenkins and Docker. Examples in Go. About the author Mohamed Labouardy is the CTO and co-founder of Crew.work, a Jenkins contributor, and a DevSecOps evangelist. Table of Contents PART 1 GETTING STARTED WITH JENKINS 1 What’s CI/CD? 2 Pipeline as code with Jenkins PART 2 OPERATING A SELF-HEALING JENKINS CLUSTER 3 Defining Jenkins architecture 4 Baking machine images with Packer 5 Discovering Jenkins as code with Terraform 6 Deploying HA Jenkins on multiple cloud providers PART 3 HANDS-ON CI/CD PIPELINES 7 Defining a pipeline as code for microservices 8 Running automated tests with Jenkins 9 Building Docker images within a CI pipeline 10 Cloud-native applications on Docker Swarm 11 Dockerized microservices on K8s 12 Lambda-based serverless functions PART 4 MANAGING, SCALING, AND MONITORING JENKINS 13 Collecting continuous delivery metrics 14 Jenkins administration and best practices

Pro DevOps with Google Cloud Platform

Pro DevOps with Google Cloud Platform
Author: Pierluigi Riti
Publisher: Apress
Total Pages: 288
Release: 2018-10-24
Genre: Computers
ISBN: 1484238974

Use DevOps principles with Google Cloud Platform (GCP) to develop applications and services. This book builds chapter by chapter to a complete real-life scenario, explaining how to build, monitor, and maintain a complete application using DevOps in practice. Starting with core DevOps concepts, continuous integration, and continuous delivery, you’ll cover common tools including Jenkins, Docker, and Kubernetes in the context of a real microservices application to deploy in the cloud. You will also create a monitor for your cloud and see how to use its data to prevent errors and improve the stability of the system. By the end of Pro DevOps with Google Cloud Platform, you will be able to deploy, maintain, and monitor a real application with GCP. What You Will LearnBuild and deploy applications and services using DevOps on Google Cloud Platform Maintain a complete continuous integration (CI) and continuous delivery (CD) pipeline Use containerization with Docker and Kubernetes Carry out CD with GCP and Jenkins Create microservices with Jenkins, Docker, and Kubernetes Monitor your newly deployed application and its deployment and performance Set up security and manage your network with GCP Who This Book Is For Developers and software architects who want to implement DevOps in practice. Some prior programming experience is recommended as well as a basic knowledge of a Linux command-line environment.

Continuous Delivery in Java

Continuous Delivery in Java
Author: Daniel Bryant
Publisher: "O'Reilly Media, Inc."
Total Pages: 477
Release: 2018-11-09
Genre: Computers
ISBN: 1491985976

Continuous delivery adds enormous value to the business and the entire software delivery lifecycle, but adopting this practice means mastering new skills typically outside of a developer’s comfort zone. In this practical book, Daniel Bryant and Abraham Marín-Pérez provide guidance to help experienced Java developers master skills such as architectural design, automated quality assurance, and application packaging and deployment on a variety of platforms. Not only will you learn how to create a comprehensive build pipeline for continually delivering effective software, but you’ll also explore how Java application architecture and deployment platforms have affected the way we rapidly and safely deliver new software to production environments. Get advice for beginning or completing your migration to continuous delivery Design architecture to enable the continuous delivery of Java applications Build application artifacts including fat JARs, virtual machine images, and operating system container (Docker) images Use continuous integration tooling like Jenkins, PMD, and find-sec-bugs to automate code quality checks Create a comprehensive build pipeline and design software to separate the deploy and release processes Explore why functional and system quality attribute testing is vital from development to delivery Learn how to effectively build and test applications locally and observe your system while it runs in production

A Practical Guide to Continuous Delivery

A Practical Guide to Continuous Delivery
Author: Eberhard Wolff
Publisher: Addison-Wesley Professional
Total Pages: 472
Release: 2017-02-24
Genre: Computers
ISBN: 0134691547

Using Continuous Delivery, you can bring software into production more rapidly, with greater reliability. A Practical Guide to Continuous Delivery is a 100% practical guide to building Continuous Delivery pipelines that automate rollouts, improve reproducibility, and dramatically reduce risk. Eberhard Wolff introduces a proven Continuous Delivery technology stack, including Docker, Chef, Vagrant, Jenkins, Graphite, the ELK stack, JBehave, and Gatling. He guides you through applying these technologies throughout build, continuous integration, load testing, acceptance testing, and monitoring. Wolff’s start-to-finish example projects offer the basis for your own experimentation, pilot programs, and full-fledged deployments. A Practical Guide to Continuous Delivery is for everyone who wants to introduce Continuous Delivery, with or without DevOps. For managers, it introduces core processes, requirements, benefits, and technical consequences. Developers, administrators, and architects will gain essential skills for implementing and managing pipelines, and for integrating Continuous Delivery smoothly into software architectures and IT organizations. Understand the problems that Continuous Delivery solves, and how it solves them Establish an infrastructure for maximum software automation Leverage virtualization and Platform as a Service (PAAS) cloud solutions Implement build automation and continuous integration with Gradle, Maven, and Jenkins Perform static code reviews with SonarQube and repositories to store build artifacts Establish automated GUI and textual acceptance testing with behavior-driven design Ensure appropriate performance via capacity testing Check new features and problems with exploratory testing Minimize risk throughout automated production software rollouts Gather and analyze metrics and logs with Elasticsearch, Logstash, Kibana (ELK), and Graphite Manage the introduction of Continuous Delivery into your enterprise Architect software to facilitate Continuous Delivery of new capabilities

Docker for Developers

Docker for Developers
Author: Richard Bullington-McGuire
Publisher: Packt Publishing Ltd
Total Pages: 468
Release: 2020-09-14
Genre: Computers
ISBN: 178953948X

Learn how to deploy and test Linux-based Docker containers with the help of real-world use cases Key FeaturesUnderstand how to make a deployment workflow run smoothly with Docker containersLearn Docker and DevOps concepts such as continuous integration and continuous deployment (CI/CD)Gain insights into using various Docker tools and librariesBook Description Docker is the de facto standard for containerizing apps, and with an increasing number of software projects migrating to containers, it is crucial for engineers and DevOps teams to understand how to build, deploy, and secure Docker environments effectively. Docker for Developers will help you understand Docker containers from scratch while taking you through best practices and showing you how to address security concerns. Starting with an introduction to Docker, you'll learn how to use containers and VirtualBox for development. You'll explore how containers work and develop projects within them after you've explored different ways to deploy and run containers. The book will also show you how to use Docker containers in production in both single-host set-ups and in clusters and deploy them using Jenkins, Kubernetes, and Spinnaker. As you advance, you'll get to grips with monitoring, securing, and scaling Docker using tools such as Prometheus and Grafana. Later, you'll be able to deploy Docker containers to a variety of environments, including the cloud-native Amazon Elastic Kubernetes Service (Amazon EKS), before finally delving into Docker security concepts and best practices. By the end of the Docker book, you'll be able to not only work in a container-driven environment confidently but also use Docker for both new and existing projects. What you will learnGet up to speed with creating containers and understand how they workPackage and deploy your containers to a variety of platformsWork with containers in the cloud and on the Kubernetes platformDeploy and then monitor the health and logs of running containersExplore best practices for working with containers from a security perspectiveBecome familiar with scanning containers and using third-party security tools and librariesWho this book is for If you're a software engineer new to containerization or a DevOps engineer responsible for deploying Docker containers in the cloud and building DevOps pipelines for container-based projects, you'll find this book useful. This Docker containers book is also a handy reference guide for anyone working with a Docker-based DevOps ecosystem or interested in understanding the security implications and best practices for working in container-driven environments.

Jenkins 2: Up and Running

Jenkins 2: Up and Running
Author: Brent Laster
Publisher: "O'Reilly Media, Inc."
Total Pages: 611
Release: 2018-05-02
Genre: Computers
ISBN: 1491979542

Design, implement, and execute continuous delivery pipelines with a level of flexibility, control, and ease of maintenance that was not possible with Jenkins before. With this practical book, build administrators, developers, testers, and other professionals will learn how the features in Jenkins 2 let you define pipelines as code, leverage integration with other key technologies, and create automated, reliable pipelines to simplify and accelerate your DevOps environments. Author Brent Laster shows you how Jenkins 2 is significantly different from the more traditional, web-only versions of this popular open source automation platform. If you’re familiar with Jenkins and want to take advantage of the new technologies to transform your legacy pipelines or build new modern, automated continuous delivery environments, this is your book. Create continuous delivery pipelines as code with the Jenkins domain-specific language Get practical guidance on how to migrate existing jobs and pipelines Harness best practices and new methods for controlling access and security Explore the structure, implementation, and use of shared pipeline libraries Learn the differences between declarative syntax and scripted syntax Leverage new and existing project types in Jenkins Understand and use the new Blue Ocean graphical interface Take advantage of the capabilities of the underlying OS in your pipeline Integrate analysis tools, artifact management, and containers

Continuous Delivery with Docker and Jenkins

Continuous Delivery with Docker and Jenkins
Author: Rafal Leszko
Publisher: Packt Publishing Ltd
Total Pages: 374
Release: 2022-05-04
Genre: Computers
ISBN: 1803245301

Create a complete continuous delivery process using modern DevOps tools such as Docker, Jenkins, Kubernetes, Ansible, Terraform, and many more Key Features • Build reliable and secure applications using Docker containers • Create a highly available environment to scale Jenkins and your services using Kubernetes • Automate your release process end-to-end Book Description This updated third edition of Continuous Delivery with Docker and Jenkins will explain the advantages of combining Jenkins and Docker to improve the continuous integration and delivery process of app development. You'll start by setting up a Docker server and configuring Jenkins on it. Next, you'll discover steps for building applications and microservices on Dockerfiles and integrating them with Jenkins using continuous delivery processes such as continuous integration, automated acceptance testing, configuration management, and Infrastructure as Code. Moving ahead, you'll learn how to ensure quick application deployment with Docker containers, along with scaling Jenkins using Kubernetes. Later, you'll explore how to deploy applications using Docker images and test them with Jenkins. Toward the concluding chapters, the book will focus on missing parts of the CD pipeline, such as the environments and infrastructure, application versioning, and non-functional testing. By the end of this continuous integration and continuous delivery book, you'll have gained the skills you need to enhance the DevOps workflow by integrating the functionalities of Docker and Jenkins. What you will learn • Grasp Docker fundamentals and dockerize applications for the CD process • Understand how to use Jenkins on-premises and in the cloud • Scale a pool of Docker servers using Kubernetes • Write acceptance tests using Cucumber • Run tests in the Docker ecosystem using Jenkins • Provision your servers and infrastructure using Ansible and Terraform • Publish a built Docker image to a Docker registry • Deploy cycles of Jenkins pipelines using community best practices Who this book is for The book is for DevOps engineers, system administrators, Docker professionals, or anyone who wants to explore the power of working with Docker and Jenkins together. No prior knowledge of DevOps is required to get started.

Learning Continuous Integration with Jenkins

Learning Continuous Integration with Jenkins
Author: Nikhil Pathania
Publisher: Packt Publishing Ltd
Total Pages: 542
Release: 2016-05-31
Genre: Computers
ISBN: 1785285033

A beginner's guide to implementing Continuous Integration and Continuous Delivery using Jenkins About This Book Speed up and increase software productivity and software delivery using Jenkins Automate your build, integration, release, and deployment processes with Jenkins—and learn how continuous integration (CI) can save you time and money Explore the power of continuous delivery using Jenkins through powerful real-life examples Who This Book Is For This book is for anyone who wants to exploit the power of Jenkins. This book servers a great starting point for those who are in the field DevOps and would like to leverage the benefits of CI and continuous delivery in order to increase productivity and reduce delivery time. What You Will Learn Take advantage of a continuous delivery solution to achieve faster software delivery Speed up productivity using a continuous Integration solution through Jenkins Understand the concepts of CI and continuous delivery Orchestrate many DevOps tools using Jenkins to automate builds, releases, deployment, and testing Explore the various features of Jenkins that make DevOps activities a piece of cake Configure multiple build machines in Jenkins to maintain load balancing Manage users, projects, and permissions in Jenkins to ensure better security Leverage the power of plugins in Jenkins In Detail In past few years, Agile software development has seen tremendous growth across the world. There is huge demand for software delivery solutions that are fast yet flexible to frequent amendments. As a result, CI and continuous delivery methodologies are gaining popularity. Jenkins' core functionality and flexibility allows it to fit in a variety of environments and can help streamline the development process for all stakeholders. This book starts off by explaining the concepts of CI and its significance in the Agile world with a whole chapter dedicated to it. Next, you'll learn to configure and set up Jenkins. You'll gain a foothold in implementing CI and continuous delivery methods. We dive into the various features offered by Jenkins one by one exploiting them for CI. After that, you'll find out how to use the built-in pipeline feature of Jenkins. You'll see how to integrate Jenkins with code analysis tools and test automation tools in order to achieve continuous delivery. Next, you'll be introduced to continuous deployment and learn to achieve it using Jenkins. Through this book's wealth of best practices and real-world tips, you'll discover how easy it is to implement a CI service with Jenkins. Style and approach This is a step-by-step guide to setting up a CI and continuous delivery system loaded with hands-on examples

Continuous Delivery with Docker and Jenkins

Continuous Delivery with Docker and Jenkins
Author: Rafał Leszko
Publisher: Packt Publishing Ltd
Total Pages: 336
Release: 2019-05-31
Genre: Computers
ISBN: 1838553088

Create a complete Continuous Delivery process using modern DevOps tools such as Docker, Kubernetes, Jenkins, Docker Hub, Ansible, GitHub and many more. Key FeaturesBuild reliable and secure applications using Docker containers.Create a highly available environment to scale a Docker servers using KubernetesImplement advance continuous delivery process by parallelizing the pipeline tasksBook Description Continuous Delivery with Docker and Jenkins, Second Edition will explain the advantages of combining Jenkins and Docker to improve the continuous integration and delivery process of an app development. It will start with setting up a Docker server and configuring Jenkins on it. It will then provide steps to build applications on Docker files and integrate them with Jenkins using continuous delivery processes such as continuous integration, automated acceptance testing, and configuration management. Moving on, you will learn how to ensure quick application deployment with Docker containers along with scaling Jenkins using Kubernetes. Next, you will get to know how to deploy applications using Docker images and testing them with Jenkins. Towards the end, the book will touch base with missing parts of the CD pipeline, which are the environments and infrastructure, application versioning, and nonfunctional testing. By the end of the book, you will be enhancing the DevOps workflow by integrating the functionalities of Docker and Jenkins. What you will learnGet to grips with docker fundamentals and how to dockerize an application for the CD processLearn how to use Jenkins on the Cloud environmentsScale a pool of Docker servers using KubernetesCreate multi-container applications using Docker ComposeWrite acceptance tests using Cucumber and run them in the Docker ecosystem using JenkinsPublish a built Docker image to a Docker Registry and deploy cycles of Jenkins pipelines using community best practicesWho this book is for The book targets DevOps engineers, system administrators, docker professionals or any stakeholders who would like to explore the power of working with Docker and Jenkins together. No prior knowledge of DevOps is required for this book.