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


Hands-on Pipeline as YAML with Jenkins

Hands-on Pipeline as YAML with Jenkins

Author: Mitesh Soni

Publisher: BPB Publications

Published: 2021-06-14

Total Pages: 238

ISBN-13: 9390684633

DOWNLOAD EBOOK

A step-by-step guide to implement Continuous Integration and Continuous Delivery (CI/CD) for Flutter, Ionic, Android, and Angular applications. KEY FEATURES ● This book covers all Declarative Pipelines that can be utilized in real-life scenarios with sample applications written in Android, Angular, Ionic Cordova, and Flutter. ● This book utilizes the YAML Pipeline feature of Jenkins. A step-by-step implementation of Continuous Practices of DevOps makes it easy to understand even for beginners. DESCRIPTION This book brings solid practical knowledge on how to create YAML pipelines using Jenkins for efficient and scalable CI/CD pipelines. It covers an introduction to various essential topics such as DevOps, DevOps History, Benefits of DevOps Culture, DevOps and Value Streams, DevOps Practices, different types of pipelines such as Build Pipeline, Scripted Pipeline, Declarative Pipeline, YAML Pipelines, and Blue Ocean. This book provides an easy journey to readers in creating YAML pipelines for various application systems, including Android, AngularJS, Flutter, and Ionic Cordova. You will become a skilled developer by learning how to run Static Code Analysis using SonarQube or Lint tools, Unit testing, calculating code coverage, publishing unit tests and coverage reports, verifying the threshold of code coverage, creating build/package, and distributing packages across different environments. By the end of this book, you will be able to try out some of the best practices to implement DevOps using Jenkins and YAML. WHAT YOU WILL LEARN ● Write successful YAML Pipeline codes for Continuous Integration and Continuous Delivery. ● Explore the working of CI/CD pipelines across Android, Angular, Ionic Cordova, and Flutter apps. ● Learn the importance of Continuous Code Inspection and Code Quality. ● Understand the importance of Continuous Integration and Continuous Delivery. ● Learn to publish Unit Tests and Code Coverage in Declarative Pipelines. ● Learn to deploy apps on Azure and distribute Mobile Apps to App Centers. WHO THIS BOOK IS FOR This book is suitable for beginners, DevOps consultants, DevOps evangelists, DevOps engineers, technical specialists, technical architects, and Cloud experts. Some prior basic knowledge of application development and deployment, Cloud computing, and DevOps practices will be helpful. TABLE OF CONTENTS 1.Introducing Pipelines 2.Basic Components of YAML Pipelines 3.Building CI/CD Pipelines with YAML for Flutter Applications 4.Building CI/CD Pipelines with YAML for Ionic Cordova Applications 5.Building CI/CD Pipelines with YAML for Android Apps 6.Building CI/CD Pipelines with YAML for Angular Applications 7.Pipeline Best Practices


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.


Jenkins 2: Up and Running

Jenkins 2: Up and Running

Author: Brent Laster

Publisher: "O'Reilly Media, Inc."

Published: 2018-05-02

Total Pages: 611

ISBN-13: 1491979542

DOWNLOAD EBOOK

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


Pro Continuous Delivery

Pro Continuous Delivery

Author: Nikhil Pathania

Publisher: Apress

Published: 2017-07-03

Total Pages: 298

ISBN-13: 1484229134

DOWNLOAD EBOOK

Follow this step-by-step guide for creating a continuous delivery pipeline using all of the new features in Jenkins 2.0 such as Pipeline as a Code, multi-branch pipeline, and more. You will learn three crucial elements for achieving a faster software delivery pipeline: a fungible build/test environment, manageable and reproducible pipelines, and a scalable build/test infrastructure. Pro Continuous Delivery demonstrates how to create a highly available, active/passive Jenkins server using some niche technologies. What You'll Learn Create a highly available, active/passive Jenkins server using CoreOS and Docker, and using Pacemaker and Corosync Use a Jenkins multi-branch pipeline to automatically perform continuous integration whenever there is a new branch in your source control system Describe your continuous delivery pipeline with Jenkinsfile Host Jenkins server on a cloud solution Run Jenkins inside a container using Docker Discover how the distributed nature of Git and the “merge before build” feature of Jenkins can be used to implement gated check-in Implement a scalable build farm using Docker and Kubernetes Who This Book Is For You have experience implementing continuous integration and continuous delivery using Jenkins freestyle Jobs and wish to use the new Pipeline as a Code feature introduced in Jenkins 2.0 Your source code is on a Git-like version control system (Git, GitHub, GitLab, etc.) and you wish to leverage the advantages of a multi-branch pipeline in Jenkins Your infrastructure is on a Unix-like platform and you wish to create a scalable, distributed build/test farm using Docker or Kubernetes You are in need of a highly available system for your Jenkins Server using open source tools and technologies


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.


The DevOps 2. 0 Toolkit

The DevOps 2. 0 Toolkit

Author: Viktor Farcic

Publisher:

Published: 2016-08-31

Total Pages: 462

ISBN-13: 9781785289194

DOWNLOAD EBOOK

Automating the Continuous Deployment Pipeline with Containerized MicroservicesAbout This Book* First principles of devops, Ansible, Docker, Kubernetes, microservices* Architect your software in a better and more efficient way with microservices packed as immutable containers* Practical guide describing an extremely modern and advanced devops toolchain that can be improved continuouslyWho This Book Is ForIf you are an intermediate-level developer who wants to master the whole microservices development and deployment lifecycle using some of the latest and greatest practices and tools, this is the book for you. Familiarity with the basics of Devops and Continuous Deployment will be useful.What You Will Learn * Get to grips with the fundamentals of Devops* Architect efficient software in a better and more efficient way with the help of microservices* Use Docker, Kubernetes, Ansible, Ubuntu, Docker Swarm and more* Implement fast, reliable and continuous deployments with zero-downtime and ability to roll-back* Learn about centralized logging and monitoring of your cluster* Design self-healing systems capable of recovery from both hardware and software failuresIn DetailBuilding a complete modern devops toolchain requires not only the whole microservices development and a complete deployment lifecycle, but also the latest and greatest practices and tools. Victor Farcic argues from first principles how to build a devops toolchain. This book shows you how to chain together Docker, Kubernetes, Ansible, Ubuntu, and other tools to build the complete devops toolkit.Style and approach This book follows a unique, hands-on approach familiarizing you to the Devops 2.0 toolkit in a very practical manner. Although there will be a lot of theory, you won't be able to complete this book by reading it in a metro on a way to work. You'll need to be in front of your computer and get your hands dirty.


Hands-on DevOps with Linux

Hands-on DevOps with Linux

Author: Alisson Machado de Menezes

Publisher: BPB Publications

Published: 2021-03-24

Total Pages: 242

ISBN-13: 9389423481

DOWNLOAD EBOOK

Manage Linux Servers on-premises and cloud with advanced DevOps techniques using Kubernetes Ê KEY FEATURESÊÊ _ Detailed coverage on architecture of Web Servers, Databases, and Cloud Servers. _ Practical touch on deploying your application and managing cloud infrastructure using Docker and Terraform. _ Simplified implementation of Infrastructure as Code with Vagrant. _ Explore the use of different cloud services for better provisioning, scalability, and reliability of enterprise applications. DESCRIPTIONÊ Hands-on DevOps with Linux brings you advanced learnings on how to make the best use of Linux commands in managing the DevOps infrastructure to keep enterprise applications up-to-date. The book begins by introducing you to the Linux world with the most used commands by DevOps experts and teaches how to set up your own infrastructure in your environment. The book covers exclusive coverage on production scenarios using Kubernetes and how the entire container orchestration is managed.Ê Throughout the book, you will get accustomed to the most widely used techniques among DevOps Engineers in their routine.Ê You will explore how infrastructure as code works, working with Vagrant, Docker and Terraform through which you can manage the entire cloud deployment of applications along with how to scale them on your own. WHAT YOU WILL LEARN _ Create Infrastructure as Code to replicate the configuration to your infrastructure. _ Learn best methods and techniques to build continuous delivery pipeline using Jenkins. _ Learn to Distribute and scale your applications using Kubernetes. _ Get insights by analyzing millions of server logs using Kibana and Logstash. WHO THIS BOOK IS FORÊÊ This book is best suited for DevOps Engineers and DevOps professionals who want to make best use of Linux commands in managing the DevOps infrastructure daily. It is a good handy guide for Linux administrators and system administrators too to get familiar with the use of Linux in Devops and advance their skillset in DevOps. Ê TABLE OF CONTENTS 1. Getting started with Linux 2. Working with Bash 3. Setting up a service 4. Configuring a reverse proxy with Nginx 5. Deploying your application using Docker 6. Automating your Infrastructure as Code 7. Creating your infrastructure using cloud services 8. Working with Terraform 9. Working with Git 10. Continuous integration and Continuous Delivery using Jenkins 11. Deploying and scaling your application using Kubernetes 12. Logs with open source Tools


DevOps for Web Development

DevOps for Web Development

Author: Mitesh Soni

Publisher: Packt Publishing Ltd

Published: 2016-10-24

Total Pages: 406

ISBN-13: 1786468352

DOWNLOAD EBOOK

Achieve the Continuous Integration and Continuous Delivery of your web applications with ease About This Book Overcome the challenges of implementing DevOps for web applications, familiarize yourself with diverse third-party modules, and learn how to integrate them with bespoke code to efficiently complete tasks Understand how to deploy web applications for a variety of Cloud platforms such as Amazon EC2, AWS Elastic Beanstalk, Microsoft Azure, Azure Web Apps, and Docker Container Understand how to monitor applications deployed in Amazon EC2, AWS Elastic Beanstalk, Microsoft Azure, Azure Web Apps using Nagios, New Relic, Microsoft Azure, and AWS default monitoring features Who This Book Is For If you are a system admin or application and web application developer with a basic knowledge of programming and want to get hands-on with tools such as Jenkins 2 and Chef, and Cloud platforms such as AWS and Microsoft Azure, Docker, New Relic, Nagios, and their modules to host, deploy, monitor, and manage their web applications, then this book is for you. What You Will Learn Grasp Continuous Integration for a JEE application—create and configure a build job for a Java application with Maven and with Jenkins 2.0 Create built-in delivery pipelines of Jenkins 2 and build a pipeline configuration for end-to-end automation to manage the lifecycle of Continuous Integration Get to know all about configuration management using Chef to create a runtime environment Perform instance provisioning in AWS and Microsoft Azure and manage virtual machines on different cloud platforms—install Knife plugins for Amazon EC2 and Microsoft Azure Deploy an application in Amazon EC2, AWS Elastic Beanstalk, Microsoft Azure Web Apps, and a Docker container Monitor infrastructure, application servers, web servers, and applications with the use of open source monitoring solutions and New Relic Orchestrate multiple build jobs to achieve application deployment automation—create parameterized build jobs for end-to-end automation In Detail The DevOps culture is growing at a massive rate, as many organizations are adopting it. However, implementing it for web applications is one of the biggest challenges experienced by many developers and admins, which this book will help you overcome using various tools, such as Chef, Docker, and Jenkins. On the basis of the functionality of these tools, the book is divided into three parts. The first part shows you how to use Jenkins 2.0 for Continuous Integration of a sample JEE application. The second part explains the Chef configuration management tool, and provides an overview of Docker containers, resource provisioning in cloud environments using Chef, and Configuration Management in a cloud environment. The third part explores Continuous Delivery and Continuous Deployment in AWS, Microsoft Azure, and Docker, all using Jenkins 2.0. This book combines the skills of both web application deployment and system configuration as each chapter contains one or more practical hands-on projects. You will be exposed to real-world project scenarios that are progressively presented from easy to complex solutions. We will teach you concepts such as hosting web applications, configuring a runtime environment, monitoring and hosting on various cloud platforms, and managing them. This book will show you how to essentially host and manage web applications along with Continuous Integration, Cloud Computing, Configuration Management, Continuous Monitoring, Continuous Delivery, and Deployment. Style and approach This is a learning guide for those who have a basic knowledge of application deployment, configuration management tools, and Cloud computing, and are eager to leverage it to implement DevOps for web applications using end-to-end automation and orchestration.