/dev/reading
Category

CI/CD

9 books
Order by
View
The GitOps way of managing cloud-native applications
by Liviu Costea, Spiros Economakis and Alexander Matyushentsev

GitOps follows the practices of infrastructure as code (IaC), allowing developers to use their day-to-day tools and practices such as source control and pull requests to manage apps. With this book, you'll understand how to apply GitOps bootstrap clusters in a repeatable manner, build CD pipelines for cloud-native apps running on Kubernetes, and minimize the failure of deployments.

You'll start by installing Argo CD in a cluster, setting up user access using single sign-on, performing declarative configuration changes, and enabling observability and disaster recovery. Once you have a production-ready setup of Argo CD, you'll explore how CD pipelines can be built using the pull method, how that increases security, and how the reconciliation process occurs when multi-cluster scenarios are involved. Next, you'll go through the common troubleshooting scenarios, from installation to day-to-day operations, and learn how performance can be improved. Later, you'll explore the tools that can be used to parse the YAML you write for deploying apps. You can then check if it is valid for new versions of Kubernetes, verify if it has any security or compliance misconfigurations, and that it follows the best practices for cloud-native apps running on Kubernetes.

By the end of this book, you'll be able to build a real-world CD pipeline using Argo CD.

What you will learn

  • Understand GitOps principles and how they relate to IaC
  • Discover how Argo CD lays the foundation for reconciling Git state with the cluster state
  • Run Argo CD in production with an emphasis on reliability and troubleshooting
  • Bootstrap Kubernetes clusters with essential utilities following the GitOps approach
  • Set up a CD pipeline and minimize the failure of deployments
  • Explore ways to verify and validate the YAML you put together when working with Kubernetes
  • Understand the democratization of GitOps and how the GitOps engine will enable its further adoption

Who this book is for

If you're a software developer, DevOps engineer, or SRE who is responsible for building CD pipelines for projects running on Kubernetes and wants to advance in your career, this book is for you. Basic knowledge of Kubernetes, Helm, or Kustomize and CD pipelines will help you to get the most out of this book.

Build efficient CI/CD pipelines to verify, secure, and deploy your code using real-life examples
by Christopher Cowell, Nicholas Lotz and Chris Timberlake

Developers and release engineers understand the high stakes involved in building, packaging, and deploying code correctly. Ensuring that your code is functionally correct, fast, and secure is a time-consuming and complex task. Code implementation, development, and deployment can be conducted efficiently using GitLab CI/CD pipelines.

Automating DevOps with GitLab CI/CD Pipelines begins with the basics of Git and GitLab, showing how to commit and review code. You’ll learn to set up GitLab Runners for executing and autoscaling CI/CD pipelines and creating and configuring pipelines for many software development lifecycle steps. You'll also discover where to find pipeline results in GitLab, and how to interpret those results. Through the course of the book, you’ll become well-equipped with deploying code to different environments, advancing CI/CD pipeline features such as connecting GitLab to a Kubernetes cluster and using GitLab with Terraform, triggering pipelines and improving pipeline performance and using best practices and troubleshooting tips for uncooperative pipelines. In-text examples, use cases, and self-assessments will reinforce the important CI/CD, GitLab, and Git concepts, and help you prepare for interviews and certification exams related to GitLab.

By the end of this book, you'll be able to use GitLab to build CI/CD pipelines that automate all the DevOps steps needed to build and deploy high-quality, secure code.

** What you will learn**

  • Gain insights into the essentials of Git, GitLab, and DevOps
  • Understand how to create, view, and run GitLab CI/CD pipelines
  • Explore how to verify, secure, and deploy code with GitLab CI/CD pipelines
  • Configure and use GitLab Runners to execute CI/CD pipelines
  • Explore advanced GitLab CI/CD pipeline features like DAGs and conditional logic
  • Follow best practices and troubleshooting methods of GitLab CI/CD pipelines
  • Implement end-to-end software development lifecycle workflows using examples

Who this book is for

This book is for DevOps/DevSecOps engineers, application developers, release engineers, quality assurance engineers, security engineers, SREs, and sysadmins looking to implement fast, secure and automated software development lifecycle tasks using continuous integration and continuous delivery (CI/CD) pipelines in GitLab. Basic knowledge of major stages of the software development life cycle and DevOps processes will be helpful.

Reliable Software Releases through Build, Test, and Deployment Automation
by David Farley and Jez Humble

Getting software released to users is often a painful, risky, and time-consuming process.

This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours—sometimes even minutes–no matter what the size of a project or the complexity of its code base.

Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the “deployment pipeline,” an automated process for managing all changes, from check-in to release. Finally, they discuss the “ecosystem” needed to support continuous delivery, from infrastructure, data and configuration management to governance.

The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes

  • Automating all facets of building, integrating, testing, and deploying software
  • Implementing deployment pipelines at team and organizational levels
  • Improving collaboration between developers, testers, and operations
  • Developing features incrementally on large and distributed teams
  • Implementing an effective configuration management strategy
  • Automating acceptance testing, from analysis to implementation
  • Testing capacity and other non-functional requirements
  • Implementing continuous deployment and zero-downtime releases
  • Managing infrastructure, data, components and dependencies
  • Navigating risk management, compliance, and auditing

Whether you’re a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever—so you can deliver value to your business rapidly and reliably.

A Practical Guide to Designing and Developing Pipelines
by Henry van Merode

Use continuous Integration (CI) and continuous delivery (CD) to improve the speed of software delivery. This book presents a game changer—how to use pipelines to automate the software delivery process. The theories about CI/CD are much the same, but the book covers what the development of pipelines looks like and how testing of pipelines themselves should be performed.

Most teams just plunge into coding, without thinking about the CI/CD process itself. Why don’t we use the same development method for pipelines that we use for apps?

Pipelines code development undergoes similar stages as application code development, such as requirements analysis, development, testing, implementation, operations, and monitoring. This is the starting point of the book. It describes the current challenges with pipeline development and how this process can be improved and structured. It describes in detail how to design pipelines and shows examples in BPMN 2.0 notation.

What You’ll Learn

  • Know the shortcomings and challenges of current pipeline development such as misalignment between the pipeline engineer and the team’s workflow, the use of infrastructure as code (IaC), and pipeline security
  • Understand the need for CI/CD requirements through the book's non-exhaustive list of more than 60 CI/CD requirements provided to inspire and increase awareness
  • See how certain choices affect the way a pipeline is designed (and realized)
  • Become familiar with branching strategy, build strategy, test strategy, release strategy, and deployment strategy that are explained in detail in the book, including their effect on pipeline design
  • Know how pipelines can be unit tested, using a real-world example
  • Know how performance bottlenecks in a pipeline occur, how they can be detected, and how they can be solved
  • View a complete implementation, including code, showing how the guidelines in this book are applied to a real use case

Who This Book Is For

DevOps engineers and solution architects involved with automating the software supply chain and using application lifecycle management (ALM)/integration platforms such as Jenkins, CircleCI, Bamboo, and Azure DevOps; intermediate and experienced DevOps engineers (developers, ops engineers, test engineers); and ICT managers interested in the CI/CD pipeline development domain

Continuous Deployment with Argo CD, Jenkins X, and Flux
by Billy Yuen, Alexander Matyushentsev, Todd Ekenstam and Jesse Suen

GitOps and Kubernetes introduces a radical idea—managing your infrastructure with the same Git pull requests you use to manage your codebase. In this in-depth tutorial, you’ll learn to operate infrastructures based on powerful-but-complex technologies such as Kubernetes with the same Git version control tools most developers use daily. With these GitOps techniques and best practices, you’ll accelerate application development without compromising on security, easily roll back infrastructure changes, and seamlessly introduce new team members to your automation process.

by Christie Wilson

Build and use systems that safely automate software delivery from testing through release with this jargon-busting guide to continuous delivery pipelines.

In Grokking Continuous Delivery you will learn how to:

  • Design effective CD pipelines for new and legacy projects
  • Keep your software projects release-ready
  • Maintain effective tests
  • Scale CD across multiple applications
  • Ensure pipelines give the right signals at the right time
  • Use version control as the source of truth
  • Safely automate deployments with metrics
  • Describe CD in a way that makes sense to your colleagues

Grokking Continuous Delivery teaches you the design and purpose of continuous delivery systems that you can use with any language or stack. You’ll learn directly from your mentor Christie Wilson, Google engineer and co-creator of the Tekton CI/CD framework. Using crystal-clear, well-illustrated examples, Christie lays out the practical nuts and bolts of continuous delivery for developers and pipeline designers. In each chapter, you’ll uncover the proper approaches to solve the real-world challenges of setting up a CD pipeline. With this book as your roadmap, you’ll have a clear plan for bringing CD to your team without the need for costly trial-and-error experimentation.

Manage and automate the secure flexible deployment of applications using real-world use cases
by Piti Champeethong and Roberto Mardeni

Continuous integration and continuous delivery (CI/CD) are ubiquitous concepts in modern development. Azure Pipelines is one of the most popular services that you can utilize for CI/CD, and this book shows you how it works by taking you through the process of building and automating CI/CD systems using Azure Pipelines and YAML, simplifying integration with Azure resources and reducing human error.

You’ll begin by getting an overview of Azure Pipelines and why you should use it. Next, the book helps you get to grips with build and release pipelines, and then builds upon this by introducing the extensive power of YAML syntax, which you can use to implement and configure any task you can think of. As you advance, you’ll discover how to integrate Infrastructure as Code tools, such as Terraform, and perform code analysis with SonarQube. In the concluding chapters, you’ll delve into real-life scenarios and hands-on implementation tasks with Microsoft Azure services, AWS, and cross-mobile application with Flutter, Google Firebase, and more.

By the end of this book, you’ll be able to design and build CI/CD systems using Azure Pipelines with consummate ease, write code using YAML, and configure any task that comes to mind.

What you will learn

  • Create multiple jobs, stages, and tasks on the Azure DevOps portal
  • Use YAML syntax for Node.js, .NET, Docker, and SQL Server tasks
  • Automate microservice applications on Azure Kubernetes Service (AKS) clusters
  • Deploy Docker applications on AWS container services
  • Use SonarQube and Jenkins for security and artifacts
  • Implement CI/CD on Flutter-based mobile applications
  • Utilize Azure Key Vault secrets in Azure Pipelines
  • Build a Node.js application in Azure Container Instances

Who this book is for

This book is for DevOps engineers, release engineers, SREs, application developers, and sysadmins looking to manage CI/CD using Azure Pipelines with the help of real-world use cases. A clear understanding of cloud computing services on Azure and AWS, DevOps, and CI/CD concepts, along with knowledge of building and deploying web and mobile applications automatically on cloud is assumed.

Automation and Integration of CI/CD with Github
by Brent Laster

Automate your software development processes with GitHub Actions, the continuous integration and continuous delivery platform that integrates seamlessly with GitHub. With this practical book, open source author, trainer, and DevOps director Brent Laster explains everything you need to know about using and getting value from GitHub Actions. You'll learn what actions and workflows are and how they can be used, created, and incorporated into your processes to simplify, standardize, and automate your work in GitHub.

This book explains the platform, components, use cases, implementation, and integration points of actions, so you can leverage them to provide the functionality and features needed in today's complex pipelines and software development processes. You'll learn how to design and implement automated workflows that respond to common events like pushes, pull requests, and review updates. You'll understand how to use the components of the GitHub Actions platform to gain maximum automation and benefit.

With this book, you will:

  • Learn what GitHub Actions are, the various use cases for them, and how to incorporate them into your processes
  • Understand GitHub Actions' structure, syntax, and semantics
  • Automate processes and implement functionality
  • Create your own custom actions with Docker, JavaScript, or shell approaches
  • Troubleshoot and debug workflows that use actions
  • Combine actions with GitHub APIs and other integration options
  • Identify ways to securely implement workflows with GitHub Actions
  • Understand how GitHub Actions compares to other options
Continuous Delivery with Jenkins, Kubernetes, and Terraform
by Mohamed Labouardy

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.