Jenkins Administrator's Guide: Install, manage, and scale a CI/CD build and release system to accelerate your product life cycle

Calvin Sangbin Park , Lalit Adithya , Samuel Gleske

  • 出版商: Packt Publishing
  • 出版日期: 2021-12-24
  • 定價: $1,750
  • 售價: 9.0$1,575
  • 語言: 英文
  • 頁數: 438
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1838824324
  • ISBN-13: 9781838824327
  • 相關分類: CI/CD
  • 立即出貨 (庫存=1)

商品描述

Key Features

  • Set up production-grade Jenkins and CI/CD pipelines with GitHub and Docker Hub integrations
  • Manage, protect, and upgrade a production Jenkins instance regardless of its size and the number of users
  • Scale a Jenkins instance using advanced optimization tips, tricks, and best practices

Book Description

Jenkins is a renowned name among build and release CI/CD DevOps engineers because of its usefulness in automating builds, releases, and even operations. Despite its capabilities and popularity, it's not easy to scale Jenkins in a production environment. Jenkins Administrator's Guide will not only teach you how to set up a production-grade Jenkins instance from scratch, but also cover management and scaling strategies.

This book will guide you through the steps for setting up a Jenkins instance on AWS and inside a corporate firewall, while discussing design choices and configuration options, such as TLS termination points and security policies. You’ll create CI/CD pipelines that are triggered through GitHub pull request events, and also understand the various Jenkinsfile syntax types to help you develop a build and release process unique to your requirements. For readers who are new to Amazon Web Services, the book has a dedicated chapter on AWS with screenshots. You’ll also get to grips with Jenkins Configuration as Code, disaster recovery, upgrading plans, removing bottlenecks, and more to help you manage and scale your Jenkins instance.

By the end of this book, you’ll not only have a production-grade Jenkins instance with CI/CD pipelines in place, but also knowledge of best practices by industry experts.

What you will learn

  • Set up a production-grade Jenkins instance on AWS and on-premise
  • Create continuous integration and continuous delivery (CI/CD) pipelines triggered by GitHub pull request events
  • Use Jenkins Configuration as Code to codify a Jenkins setup
  • Backup and restore configurations and plan for disaster recovery
  • Plan, communicate, execute, and rollback upgrade scenarios
  • Identify and remove common bottlenecks in scaling Jenkins
  • Use Shared Libraries to develop helper functions and create new DSLs

 

Who This Book Is For

This book is for both new Jenkins administrators and advanced users who want to optimize and scale Jenkins. Jenkins beginners can follow the step-by-step directions, while advanced readers can join in-depth discussions on Script Security, removing bottlenecks, and other interesting topics. Build and release CI/CD DevOps engineers of all levels will also find new and useful information to help them run a production-grade Jenkins instance following industry best practices.

商品描述(中文翻譯)

主要特點


  • 使用GitHub和Docker Hub集成設置生產級Jenkins和CI/CD流水線

  • 管理、保護和升級生產環境中的Jenkins實例,無論其規模和用戶數量如何

  • 使用高級優化技巧、訣竅和最佳實踐來擴展Jenkins實例

書籍描述

Jenkins是CI/CD DevOps工程師中廣受好評的名字,因為它在自動化構建、發布甚至運營方面非常有用。儘管它具有強大的功能和普及度,但在生產環境中擴展Jenkins並不容易。《Jenkins管理員指南》不僅將教您如何從頭開始設置生產級Jenkins實例,還將涵蓋管理和擴展策略。

本書將指導您在AWS和企業防火牆內設置Jenkins實例的步驟,同時討論設計選擇和配置選項,例如TLS終止點和安全策略。您將創建通過GitHub拉取請求事件觸發的CI/CD流水線,並了解各種Jenkinsfile語法類型,以幫助您開發符合您需求的構建和發布流程。對於對Amazon Web Services(AWS)新手讀者,本書還有一章專門介紹AWS並附有屏幕截圖。您還將掌握Jenkins Configuration as Code、災難恢復、升級計劃、消除瓶頸等技巧,以幫助您管理和擴展Jenkins實例。

通過閱讀本書,您不僅將擁有一個具有CI/CD流水線的生產級Jenkins實例,還將獲得行業專家的最佳實踐知識。

您將學到什麼


  • 在AWS和本地設置生產級Jenkins實例

  • 創建由GitHub拉取請求事件觸發的持續集成和持續交付(CI/CD)流水線

  • 使用Jenkins Configuration as Code將Jenkins設置編碼

  • 備份和還原配置,並計劃災難恢復

  • 計劃、溝通、執行和回滾升級方案

  • 識別並消除擴展Jenkins中的常見瓶頸

  • 使用共享庫開發輔助功能並創建新的DSL

 

適合閱讀對象

本書適合新手Jenkins管理員和希望優化和擴展Jenkins的高級用戶。新手讀者可以按照逐步指南進行操作,而高級讀者可以參與有關腳本安全性、消除瓶頸和其他有趣話題的深入討論。無論是初級還是高級的構建和發布CI/CD DevOps工程師,都可以找到新的有用信息,以幫助他們按照行業最佳實踐運行生產級Jenkins實例。

作者簡介

Calvin Sangbin Park is a CI/CD DevOps engineer in NVIDIA. He's been using Jenkins throughout his career to automate the builds for Arduino Maker boards, Android tablets, enterprise software packages, and even firmware for an industrial laser for etching CPUs. Lately, he's been focusing on Kubernetes, monitoring, and process visualizations. He plans to contribute to the open-source community by developing a plugin that optimizes the Kubernetes cluster management.

Lalit Adithya is a software engineer with the DevOps team at NVIDIA. He has built code commit to production pipelines using Jenkins and GitHub actions. He has built and scaled business-critical applications that serve several thousand requests every minute. He has also built frameworks that have boosted developer productivity by abstracting away the complexities of networking, request/response routing, etc. He knows the ins and outs of several public cloud platforms and can architect cost-effective and scalable cloud-native solutions.

Sam Gleske has been a Jenkins user and contributor for 10 years since 2011. He's contributed documentation, plugins, and discovered security issues. Some notable plugins Sam has maintained include: Slack plugin, GHPRB plugin, GitHub Authentication plugin, and a half dozen others. Sam has presented on and shared scripts for the Script Console documentation including being the primary author of its wiki page. Since 2014 Sam has been developing Jervis: Jenkins as a service which enables Jenkins to scale to more than 4,000 users and 30,000 jobs in a single Jenkins controller. Jervis emphasizes full self-service within Jenkins for users while balancing security. I dedicate this to my wife Kristie whose support for me made this possible.

作者簡介(中文翻譯)

Calvin Sangbin Park是NVIDIA的CI/CD DevOps工程師。他在整個職業生涯中一直使用Jenkins來自動化建置Arduino Maker板、Android平板、企業軟體套件,甚至是用於刻劃CPU的工業雷射的韌體。最近,他專注於Kubernetes、監控和流程可視化。他計劃通過開發一個優化Kubernetes集群管理的插件來貢獻給開源社區。

Lalit Adithya是NVIDIA DevOps團隊的軟體工程師。他使用Jenkins和GitHub actions建立了從程式碼提交到生產的流程。他建立並擴展了支援每分鐘數千個請求的關鍵業務應用程式。他還建立了框架,通過抽象化網絡、請求/回應路由等複雜性,提高了開發人員的生產力。他熟悉幾個公有雲平台的細節,能夠設計成本效益高且可擴展的雲原生解決方案。

Sam Gleske自2011年以來一直是Jenkins的使用者和貢獻者,已有10年的經驗。他貢獻了文件、插件並發現了安全問題。一些值得注意的插件包括:Slack插件、GHPRB插件、GitHub身份驗證插件等。Sam曾就Script Console文件進行演示並分享腳本,他是其維基頁面的主要作者。自2014年以來,Sam一直在開發Jervis:將Jenkins作為服務,使Jenkins能夠在單個Jenkins控制器中擴展到超過4,000個使用者和30,000個作業。Jervis強調對使用者的全自助服務,同時平衡安全性。我將這個成果獻給我的妻子Kristie,她對我的支持使這一切成為可能。