Learning Continuous Integration with Jenkins: A Beginner's Guide to Implementing Continuous Integration and Continuous Delivery Using Jenkins 2, 2nd Edition
A step-by-step guide to quickly set up Jenkins across various platforms and create a Continuous Integration and Continuous Delivery pipeline using all the new features introduced in Jenkins 2.x such as Pipeline as a Code, Multibranch pipeline, Blue Ocean Plugin, and more.
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.