Skip to main content

You are here

Software Development

Jenkins Continuous Integration Cookbook

This is a really technical advance book, that already assumes you have some basic knowledge of servers, software testing, and more importantly continuous integration and deployment. Don’t expect this book to hold your hand while reading through it. This book will take you from using Jenkins from a very simple standard application deployment build environment, to an extremely elaborate and powerful tool that can follow the all mighty (sarcasm) agile methodology in your development environment.

I think this is a good book to read after The Definitive Guide to Jenkins since it covers mostly the same concepts on top of additional (more advance) example scenarios. For example some that I implemented in my very own Jenkins build server; were customized css pages/themes, captcha forms, and extending Jenkins itself using Groovy. Also security wise, this book goes into far more detail on how to lock down and secure your Jenkins installation. Hell, it even provided examples on testing whether the Jenkins server is XSS vulnerable!

Just like The Definitive Guide to Jenkins, the overwhelming majority of the examples are related to deploying Java specific applications, and just like that book I found myself skipping through a lot of the examples described. This book also covers for more advance Jenkins uses cases like LDAP integration, and enabling SSO.

I was shocked to learn, how new the Pipelines feature is. This book was published in 2015, and while I know it may take some significant amount of time to publish a book; so it maybe possible a bulk of this book may be written in 2014. This book does not describe examples of using Pipelines in a Jenkins build project. It's amazing that something so extremely useful, is relatively new. Thus said, I would definitely recommend this book to those seeking to extend their Jenkins working knowledge.

Rating: 3/5
Jenkins Continuous Integration Cookbook

Chapter 1: Maintenance Jenkins
Chapter 2: Enhancing Security
Chapter 3: Building Software
Chapter 4: Communication Through Jenkins
Chapter 5: Using Metrics to Improve Quality
Chapter 6: Testing Remotely

Book: 

Book Category: 

The Definitive Guide to Jenkins

Unlike the book Integrating PHP Projects with Jenkins, The Definitive Guide to Jenkins is a really good source for anyone wanting to learn Jenkins more in depth. This book describes practically almost all of the functionally that you need to know in order to start implementing rock solid Continuous Integration and Continuous Delivery solutions in whatever environment you are working in. You’ll learn how to install, configure, and secure your Jenkins itself, and more importantly how to create simple freestyle project builds to more complex pipeline project builds. The only thing Integrating PHP Projects with Jenkins and this book have in common is that both books mention a lot of useful code coverage, analysis, build automation, unit/stress testing tools, etc.

One of the few drawbacks of this book (though it’s understandably given the history of the Jenkins project) is that it’s very Java focused. The working example that is companioned with this book is a working Java application. At first I tried to follow along using the example Java application, but then I just skipped over the Java specific stuff and instead I applied the major concepts to my own custom Jenkins projects and builds that I have for my web applications.

Although this book was published over six years ago, most of the generic Jenkins content still applies. The book does cover running Jenkins in your own environment as well as using and running Jenkins in a cloud environment. One thing that I was surprised was not seeing any information regarding running Jenkins in a high availability configuration; it only covered basic master/slave configurations.

Continuous Integration and Continuous Delivery is somewhat of a fairly advanced topic, thus so is this book. I think you need to have a basic to firm understanding of servers, application deployment, and a little programming knowledge to fully get the most out of this book. Thus said, we’re in July 2017 and if you’re one of those that still deploys application changes manually via FTP/SSH, then this is the book for you to start using a much better deployment strategy no matter of what application you’re working on.

Rating: 3/5
The Definitive Guide to Jenkins

Chapter 1: Introducing Jenkins
Chapter 2: Your First Steps with Jenkins
Chapter 3: Installing Jenkins
Chapter 4: Configuring Your Jenkins Server
Chapter 5: Setting Up Your Build Jobs
Chapter 6: Automated Testing
Chapter 7: Securing Jenkins
Chapter 9: Code Quality
Chapter 10: Advanced Builds
Chapter 11: Distributed Builds
Chapter 12: Automated Deployment and Continuous Delivery

Book: 

Book Category: 

Pro Vagrant

This book can practically turn anyone from a total Vagrant noob to an advance user, no matter if you're a developer or a sysadmin. More importantly, this book will help you to easily integrate Vagrant to your current development environment. The Vagrant documentation is really good and comprehensive. On the other hand, this book basically holds your hand through the entire process of learning Vagrant, which it's not a bad thing if you ask me. Depending on your environment, the Vagrant workflow might be fairly complex. This book does a wonderful job explaining Vagrant's workflow using basic PHP, Ruby, JavaScript, and Python working application examples. https://github.com/pro-vagrant.

I really liked the chapters on custom box creation and versioning from scratch. If you're either a sysadmin or a developer and unless you live under a rock, by now you heard of the term “DevOps”. As Vagrant itself being a DevOps tool, this book brilliantly distinguishes what aspects of Vagrant are handled by the sysadmin and what aspects a developer only needs to care about. From creating a box from scratch and versioning it, provisioning, distribution, to using git to integrate a working and distributable vagrant environment. I was however disappointed to see that this book did not described distributing versioned boxes using your own http server.

Like the book Vagrant: Up and Running, the virtualization platform used throughout the book is VirtualBox.

I honestly believe Apress should've labelled this book as a “Beginning” title and not “Pro”. Extending Vagrant is not even touched on this book, which I think it's the main reason why it should be called “Beginning Vagrant” instead. As a plugin developer myself, I would love to see an entire book dedicated to extending Vagrant. While the Vagrant documentation is great, it would be awesome and helpful to read of developing practical vagrant plugins from scratch. In the past, their been instances were I had to read through the Vagrant source (RTFS) for action hooks that weren't even documented. Luckily, now they actually have documentation for them! However other areas such as the Vagrant middleware API, the existing documentation as of this writing is a lot to be desired. I would buy a Pro Vagrant development book in a heart beat.

In terms of deciding which Vagrant book to recommend, I honestly can't say which book is better Vagrant: Up and Running or Pro Vagrant. Both are great and well worth reading.

Chapter 1: Getting Started with Vagrant
Chapter 2: Four Web Frameworks in Four Minutes
Chapter 3: The States of VM
Chapter 4: Default Configuration and Security Settings of the Guest VM
Chapter 5: Your First Box
Chapter 6: Provisioning
Chapter 7: Creating Boxes from Scratch
Chapter 8: Configuring virtual machines
Chapter 9: One true workflow
Chapter 10: Going Pro

Rating:
3/5

Pro Vagrant

Book: 

Book Category: 

Vagrant: Up and Running

Vagrant is an awesome piece of software. This fantastic application has changed the way most companies do development. Vagrant: Up and Running, is an introductory book that extends the official Vagrant document in a short well structure approach. Practically all of the topics covered in the book are covered in the official Vagrant documentation. However, this book is aimed for people completely new Vagrant and are unaware of the idiosyncrasy of what it takes to configure a server. The book's examples are using VirtualBox as the visualization platform, and Linux as the VM guest. So in addition of learning Vagrant, you'll also be learning some of the really cool in features of VirtualBox and see how wonderfully Vagrant abstracts this by using it's Vagrantfile guest configuration.

The book is divided into seven chapters. The first two chapters are basic introductions to Vagrant. Their is also a chapter dedicated to provisioning a guest using Chef and Puppet. The provisioning chapter does not go into the details of Chef or Puppet, but the example Chef recipes and Puppet manifest described on the book are really simple and straight forward. They are well described, and should be able to easily understand the Vagrant provisioning process no matter what provision tool you'll later end up using. My favorite chapter, and practically the reason anyone needs to buy this book, is the chapter on Plug-in development. I've been hacking on a Vagrant plugin these last few days, and personally feel the official documentation is lacking in this area, and this chapter is hands down the best documentation on Plug-in development.

The only con of this book, is not necessarily the book's fault but rather a result of Vagrant's constant fast pace development. The book was published on May 2013, and being at this point in time over two years old, it's diffidently aging fast. Some of the examples on the Extending Vagrant with Plug-ins chapter, using the lasted version of Vagrant at the time of this writing, spit out deprecate warnings.

Chapter 1: An Introduction to Vagrant
Chapter 2: Your First Vagrant Machine
Chapter 3: Provisioning Your Vagrant VM
Chapter 4: Networking in Vagrant
Chapter 5: Modeling Multimachine Clusters
Chapter 6: Boxes
Chapter 7: Extending Vagrant with Plug-Ins

Rating: 4/5

Vagrant: Up and Running.
Create and Manage Virtualized Development Environments

Book: 

Book Category: 

Premium Drupal Themes by Adaptivethemes