A beginner's guide to implementing Continuous Integration and Continuous Delivery using Jenkins About This Book - Speed up and increase software productivity and software delivery using Jenkins - Automate your build, integration, release, and deployment processes with Jenkins-and learn how continuous integration (CI) can save you time and money - Explore the power of continuous delivery using Jenkins through powerful real-life examples Who This Book Is For This book is for anyone who wants to exploit the power of Jenkins. This book servers a great starting point for those who are in the field DevOps and would like to leverage the benefits of CI and continuous delivery in order to increase productivity and reduce delivery time. What You Will Learn - Take advantage of a continuous delivery solution to achieve faster software delivery - Speed up productivity using a continuous Integration solution through Jenkins - Understand the concepts of CI and continuous delivery - Orchestrate many DevOps tools using Jenkins to automate builds, releases, deployment, and testing - Explore the various features of Jenkins that make DevOps activities a piece of cake - Configure multiple build machines in Jenkins to maintain load balancing - Manage users, projects, and permissions in Jenkins to ensure better security - Leverage the power of plugins in Jenkins In Detail In 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. Style and approach This is a step-by-step guide to setting up a CI and continuous delivery system loaded with hands-on examples
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.