Hands-On Continuous Integration and Delivery

Hands-On Continuous Integration and Delivery

Author: Jean-Marcel Belmont

Publisher: Packt Publishing Ltd

Published: 2018-08-29

Total Pages: 401

ISBN-13: 1789133076

DOWNLOAD EBOOK

Understand various tools and practices for building a continuous integration and delivery pipeline effectively Key Features Get up and running with the patterns of continuous integration Learn Jenkins UI for developing plugins and build an effective Jenkins pipeline Automate CI/CD with command-line tools and scripts Book Description Hands-On Continuous Integration and Delivery starts with the fundamentals of continuous integration (CI) and continuous delivery (CD) and where it fits in the DevOps ecosystem. You will explore the importance of stakeholder collaboration as part of CI/CD. As you make your way through the chapters, you will get to grips with Jenkins UI, and learn to install Jenkins on different platforms, add plugins, and write freestyle scripts. Next, you will gain hands-on experience of developing plugins with Jenkins UI, building the Jenkins 2.0 pipeline, and performing Docker integration. In the concluding chapters, you will install Travis CI and Circle CI and carry out scripting, logging, and debugging, helping you to acquire a broad knowledge of CI/CD with Travis CI and CircleCI. By the end of this book, you will have a detailed understanding of best practices for CI/CD systems and be able to implement them with confidence. What you will learn Install Jenkins on multiple operating systems Work with Jenkins freestyle scripts, pipeline syntax, and methodology Explore Travis CI build life cycle events and multiple build languages Master the Travis CI CLI (command-line interface) and automate tasks with the CLI Use CircleCI CLI jobs and work with pipelines Automate tasks using CircleCI CLI and learn to debug and troubleshoot Learn open source tooling such as Git and GitHub Install Docker and learn concepts in shell scripting Who this book is for Hands-On Continuous Integration and Delivery is for system administrators, DevOps engineers, and build and release engineers who want to understand the concept of CI and gain hands-on experience working with prominent tools in the CI ecosystem. Basic knowledge of software delivery is an added advantage.


Continuous Integration

Continuous Integration

Author: Paul M. Duvall

Publisher: Pearson Education

Published: 2007-06-29

Total Pages: 322

ISBN-13: 0321630149

DOWNLOAD EBOOK

For any software developer who has spent days in “integration hell,” cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques. The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility. The book covers How to make integration a “non-event” on your software development projects How to reduce the amount of repetitive processes you perform when building your software Practices and techniques for using CI effectively with your teams Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software Assessments of different CI servers and related tools on the market The book’s companion Web site, www.integratebutton.com, provides updates and code examples.


Hands-on Azure Pipelines

Hands-on Azure Pipelines

Author: Chaminda Chandrasekara

Publisher: Apress

Published: 2020-08-08

Total Pages: 201

ISBN-13: 9781484259016

DOWNLOAD EBOOK

Build, package, and deploy software projects, developed with any language targeting any platform, using Azure pipelines. The book starts with an overview of CI/CD and the need for software delivery automation. It further delves into the basic concepts of Azure pipelines followed by a hands-on guide to setting up agents on all platforms enabling software development in any language. Moving forward, you will learn to set up a pipeline using the classic Visual Editor using PowerShell scripts, a REST API, building edit history, retention, and much more. You’ll work with artifact feeds to store deployment packages and consume them in a build. As part of the discussion you’ll see the implementation and usage of YAML (Yet Another Markup Language) build pipelines. You will then create Azure release pipelines in DevOps and develop extensions for Azure pipelines. Finally, you will learn various strategies and patterns for developing pipelines and go through some sample lessons on building and deploying pipelines. After reading Hands-on Azure Pipelines, you will be able to combine CI and CD to constantly and consistently test and build your code and ship it to any target. What You Will Learn Work with Azure build-and-release pipelines Extend the capabilities and features of Azure pipelines Understand build, package, and deployment strategies, and versioning and patterns with Azure pipelines Create infrastructure and deployment that targets commonly used Azure platform services Build and deploy mobile applications Use quick-start Azure DevOps projects Who This Book Is For Software developers and test automation engineers who are involved in the software delivery process.


Hands-on Pipeline as Code with Jenkins

Hands-on Pipeline as Code with Jenkins

Author: Ankita Patil

Publisher: BPB Publications

Published: 2021-02-11

Total Pages: 484

ISBN-13: 9389898609

DOWNLOAD EBOOK

A step-by-step guide to implementing Continuous Integration and Continuous Delivery (CICD) for Mobile, Hybrid, and Web applications DESCRIPTION The main objective of the book is to create Declarative Pipeline for programming languages such as Java, Android, iOS, AngularJS, NodeJS, Flutter, Ionic Cordova, and .Net. The book starts by introducing all the areas which encompass the field of DevOps Practices. It covers definition of DevOps, DevOps history, benefits of DevOps culture, DevOps and Value Streams, DevOps practices, different Pipeline types such as Build Pipeline, Scripted Pipeline, Declarative Pipeline, and Blue Ocean. Each chapter focuses on Pipeline that includes Static Code Analysis using SonarQube or Lint tools, Unit tests, calculating code coverage, publishing unit tests and coverage reports, verifying the threshold of code coverage, creating build/package, and distributing package to a specific environment based on the type of programming language. The book will also teach you how to use different deployment distribution environments such as Azure App Services, Docker, Azure Container Services, Azure Kubernetes Service, and App Center. By the end, you will be able to implement DevOps Practices using Jenkins effectively and efficiently. KEY FEATURESÊÊ _ Understand how and when Continuous Integration makes a difference _ Learn how to create Declarative Pipeline for Continuous Integration and Continuous Delivery _ Understand the importance of Continuous Code Inspection and Code Quality _ Learn to publish Unit Test and Code Coverage in Declarative Pipeline _ Understand theÊ importance of Quality Gates and Build Quality WHAT YOU WILL LEARNÊ _ Use Multi-Stage Pipeline (Pipeline as a Code) to implement Continuous Integration and ContinuousÊ Ê Ê Ê Delivery. _ Create and configure Cloud resources using Platform as a Service Model _ Deploy apps to Azure App Services, Azure Kubernetes and containers _ Understand how to distribute Mobile Apps (APK and IPA) to App Center _ Improve Code Quality and Standards using Continuous Code Inspection WHO THIS BOOK IS FORÊÊ This book is for DevOps Consultants, DevOps Evangelists, DevOps Engineers, Technical Specialists, Technical Architects, Cloud Experts, and Beginners. Having a basics knowledge of Application development and deployment, Cloud Computing, and DevOps Practices would be an added advantage. TABLE OF CONTENTS 1. Introducing DevOps 2. Introducing Jenkins 2.0 and Blue Ocean 3. Building CICD Pipeline for Java Web Application 4. Building CICD Pipeline for Android App 5. Building CICD Pipeline for iOS App 6. Building CICD Pipeline for Angular Application 7. Building CICD Pipeline NodeJS Application 8. Building CICD Pipeline for Hybrid Mobile Application 9. Building CICD Pipeline for Python Application 10. Building CICD Pipeline for DotNet Application 11. Best Practices


Pipeline as Code

Pipeline as Code

Author: Mohamed Labouardy

Publisher: Simon and Schuster

Published: 2021-11-23

Total Pages: 750

ISBN-13: 163835037X

DOWNLOAD EBOOK

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


Continuous Integration, Delivery, and Deployment

Continuous Integration, Delivery, and Deployment

Author: Sander Rossel

Publisher: Packt Publishing Ltd

Published: 2017-10-30

Total Pages: 451

ISBN-13: 1787284182

DOWNLOAD EBOOK

Getting started with the processes and the tools to continuously deliver high-quality software About This Book Incorporate popular development practices to prevent messy code Automate your build, integration, release, and deployment processes with Jenkins, Git, and Gulp?and learn how continuous integration (CI) can save you time and money Gain an end-to-end overview of Continuous Integration using different languages (JavaScript and C#) and tools (Gulp and Jenkins) Who This Book Is For This book is for developers who want to understand and implement Continuous Integration and Delivery in their daily work. A basic knowledge of at least JavaScript and HTML/CSS is required. Knowing C# and SQL will come in handy. Most programmers who have programmed in a (compiled) C-like language will be able to follow along. What You Will Learn Get to know all the aspects of Continuous Integration, Deployment, and Delivery Find out how Git can be used in a CI environment Set up browser tests using Karma and Selenium and unit tests using Jasmine Use Node.js, npm, and Gulp to automate tasks such as linting, testing, and minification Explore different Jenkins jobs to integrate with Node.js and C# projects Perform Continuous Delivery and Deployment using Jenkins Test and deliver a web API In Detail The challenge faced by many teams while implementing Continuous Deployment is that it requires the use of many tools and processes that all work together. Learning and implementing all these tools (correctly) takes a lot of time and effort, leading people to wonder whether it's really worth it. This book sets up a project to show you the different steps, processes, and tools in Continuous Deployment and the actual problems they solve. We start by introducing Continuous Integration (CI), deployment, and delivery as well as providing an overview of the tools used in CI. You'll then create a web app and see how Git can be used in a CI environment. Moving on, you'll explore unit testing using Jasmine and browser testing using Karma and Selenium for your app. You'll also find out how to automate tasks using Gulp and Jenkins. Next, you'll get acquainted with database integration for different platforms, such as MongoDB and PostgreSQL. Finally, you'll set up different Jenkins jobs to integrate with Node.js and C# projects, and Jenkins pipelines to make branching easier. By the end of the book, you'll have implemented Continuous Delivery and deployment from scratch. Style and approach This practical book takes a step-by-step approach to explaining all the concepts of Continuous Integration and delivery, and how it can help you deliver a high-quality product.


Continuous Delivery with Docker and Jenkins

Continuous Delivery with Docker and Jenkins

Author: Rafal Leszko

Publisher: Packt Publishing Ltd

Published: 2017-08-24

Total Pages: 326

ISBN-13: 1787126145

DOWNLOAD EBOOK

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.


Hands-On Software Architecture with Golang

Hands-On Software Architecture with Golang

Author: Jyotiswarup Raiturkar

Publisher: Packt Publishing Ltd

Published: 2018-12-07

Total Pages: 716

ISBN-13: 1788625102

DOWNLOAD EBOOK

Understand the principles of software architecture with coverage on SOA, distributed and messaging systems, and database modeling Key FeaturesGain knowledge of architectural approaches on SOA and microservices for architectural decisionsExplore different architectural patterns for building distributed applicationsMigrate applications written in Java or Python to the Go languageBook Description Building software requires careful planning and architectural considerations; Golang was developed with a fresh perspective on building next-generation applications on the cloud with distributed and concurrent computing concerns. Hands-On Software Architecture with Golang starts with a brief introduction to architectural elements, Go, and a case study to demonstrate architectural principles. You'll then move on to look at code-level aspects such as modularity, class design, and constructs specific to Golang and implementation of design patterns. As you make your way through the chapters, you'll explore the core objectives of architecture such as effectively managing complexity, scalability, and reliability of software systems. You'll also work through creating distributed systems and their communication before moving on to modeling and scaling of data. In the concluding chapters, you'll learn to deploy architectures and plan the migration of applications from other languages. By the end of this book, you will have gained insight into various design and architectural patterns, which will enable you to create robust, scalable architecture using Golang. What you will learnUnderstand architectural paradigms and deep dive into MicroservicesDesign parallelism/concurrency patterns and learn object-oriented design patterns in GoExplore API-driven systems architecture with introduction to REST and GraphQL standardsBuild event-driven architectures and make your architectures anti-fragileEngineer scalability and learn how to migrate to Go from other languagesGet to grips with deployment considerations with CICD pipeline, cloud deployments, and so onBuild an end-to-end e-commerce (travel) application backend in GoWho this book is for Hands-On Software Architecture with Golang is for software developers, architects, and CTOs looking to use Go in their software architecture to build enterprise-grade applications. Programming knowledge of Golang is assumed.


Continuous Delivery

Continuous Delivery

Author: Jez Humble

Publisher: Pearson Education

Published: 2010-07-27

Total Pages: 956

ISBN-13: 0321670221

DOWNLOAD EBOOK

Winner of the 2011 Jolt Excellence Award! 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.


Hands-on GitHub Actions

Hands-on GitHub Actions

Author: Chaminda Chandrasekara

Publisher: Apress

Published: 2021-02-23

Total Pages: 162

ISBN-13: 9781484264638

DOWNLOAD EBOOK

Implement continuous integration/continuous delivery (CI/CD) workflows for any application you develop through GitHub Actions. This book will give you an in-depth idea of implementation patterns, solutions for different technology builds, guidelines to implement your own custom components as actions, and usage of features available with GitHub Actions workflows, to set up CI/CD for your repositories. Hands-on GitHub Actions starts with an introduction to GitHub actions that gives an overview on CI/CD followed by an introduction to its workflows. Next, you will learn how to use variables in a GitHub workflow along with tokens via a REST API. Further, you will explore artifacts and caching dependencies in GitHub and use artifacts in subsequent jobs. Using self-hosted runners is discussed next where you will set up your own hardware and software to run GitHub actions. You will go through publishing packages and migrate to Azure DevOps Pipelines. Along the way, you will use Redis service and PostgreSQL service containers and create custom actions. Finally, you will work with GitHub apps and understand the syntax reference for GitHub Actions and workflows. What You Will Learn Create workflows for any platform and any language with GitHub Actions Develop custom GitHub actions to enhance features and usage of database and service containers Use hosted runners and create self-hosted runners for GitHub workflows Use GitHub Package registry with GitHub Actions to share and use packages Who This Book Is For DevOps teams who want to build quality CI/CD workflows.