Key FeaturesSpeed up and increase software productivity and software delivery using JenkinsAutomate your build, integration, release, and deployment processes with Jenkins—and learn how continuous integration (CI) can save you time and moneyExplore the power of continuous delivery using Jenkins through powerful real-life examplesBook DescriptionIn 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.
What you will learnTake advantage of a continuous delivery solution to achieve faster software deliverySpeed up productivity using a continuous Integration solution through JenkinsUnderstand the concepts of CI and continuous deliveryOrchestrate many DevOps tools using Jenkins to automate builds, releases, deployment, and testingExplore the various features of Jenkins that make DevOps activities a piece of cakeConfigure multiple build machines in Jenkins to maintain load balancingManage users, projects, and permissions in Jenkins to ensure better securityLeverage the power of plugins in JenkinsAbout the AuthorNikhil Pathania is a DevOps consultant at HCL Technologies Bengaluru, India. He started his career in the domain of software configuration management as an SCM Engineer and later moved on to various other tools and technologies in the field of automation and DevOps. In his career, he has architectured and implemented Continuous Integration and Continuous Delivery solutions across diverse IT projects. He enjoys finding new and better ways to automate and improve manual processes.
Before HCL Technologies, he worked extensively with retail giant Tesco and Wipro Technologies.
Table of ContentsConcepts of Continuous IntegrationSetting up JenkinsConfiguring JenkinsContinuous Integration Using Jenkins – Part IContinuous Integration Using Jenkins – Part IIContinuous Delivery Using JenkinsContinuous Deployment Using JenkinsJenkins Best Practices
500 pages of this book have lots of 'water' and screenshots. It is only good for beginners in Jenkins. More then once I was reading instruction how to do things but was wondering *why* doing so and didn't have an answer. Kudos to the author on nice visualizations of the pipelines though. Very easy way to clearly see difference between continuous integration, delivery and deployment. There were few places I the author was showing something I can't consider best practice. Anyway I learned few bits from it. Here is my list of things to try: - SonarQube integration - How/if SCM polling is configured by default for (multibranch) pipeline jobs - LTS release frequency - LDAP integration - Email and Hipchat notifications - JobConfigHistory plugin - Take a look at BlueOcean (although not mentioned by the book)
This is more a Jenkins setup walkthrough, is good for beginners and contains very detailed explanations with a lot of screenshots on how to do setup Jenkins and integrate with most common scenarios. The CI/CD part is very brief but still contain some good information to connect with Sonarqube and deploy registries, but mainly Java side.
When I read this book with a more hands on approach, one thing that bothered me a lot was that its examples were written in "windows shell". I don't use windows, and I needed to reimplement everything. I don't intend to "make less" of Windows, however, when it comes to implement a CI pipeline, that checks out GIT, compiles Java sources and such things, it doesn't seem to be the best choice. Additionally, I would say some examples in the book aren't "right", specially those where the author switches to drive "E:/" in the middle of its scripts.
Maybe this book can be useful as "how to configure jenkins", but I don't believe it is as good when it comes to "...Learning Continuous Integration..." part of the title. I think it fails this part, because it lacks of some conceptual discussions (for example, a good chapter discussing on branching strategies). Instead, the author chose to spend his time placing many screenshots of tools instalations. I found myself skipping lots of pages due to this reason (and I hate skipping pages on a book, I like to read it end-to-end). However, it is a real pain to see tutorials, for example, about GIT instalation. Totally unecessary. In my opinion, to achieve the "Learn C.I." part of the title, you will need to use other sources.