What if you are the Champion?

DevOps and Agile transformations, or any cultural shift for that matter, almost certainly needs a champion to help evangelize for change and to clear the inevitable road blocks. You can’t do it that way because we’ve always done it another way? Call the Champion to get us permission to try something different this time. There’s […]

Read more
Just Enough Testing at Each Stage of Your Delivery Pipeline

Gene Gotimer just published an article at Techwell Insights discussing how to choose what testing to do in your pipeline and when. Adapting the agile principle of small incremental changes and applying it to rounds of testing, the goal is to do just enough testing at each stage to give you confidence that the next […]

Read more
Building Development Environment

This is a two part post where I will show you how to setup development environment locally. We will start with Vagrant and Virtual Box and their initial setup. Then we will jump into multi-machine setup and provisioning using Puppet. You will also see how Database and WebApp VMs can work together. Vagrant and Virtual […]

Read more
Common ivysettings.xml file

Ivysettings.xml In my last project I was introduced to Ivy and Ant working together to handle library dependencies. Since Ant does not have a native automatic dependency resolution built in, we had to incorporate Ivy into the picture to manage all the necessary files for the code to compile. If you want to read more […]

Read more
Run Headless Selenium Tests From Jenkins

In a previous blog I went over how to set up headless tests on a centos machine; in this blog, I will be going over how to introduce this machine into a continuous integration environment via Jenkins. The first thing that we need to do is install the Xvfb plugin on the Jenkins instance, which […]

Read more
Organizational Structures for DevOps

Bringing in DevOps to an organization means making some changes to the culture and structure of teams and the organization. These changes are often disruptive and frequently meet with some resistance from leadership, teams, and individuals. A successful DevOps team is cross-functional, with members that represent the business, development, quality assurance, operations, and anyone else […]

Read more
Hacking Jenkins Header for Temporary Custom Style

I often find myself in a position where I have multiple Jenkins servers that are almost clones of each other. In many cases, this is because I run a “test” Jenkins where we develop jobs, test them, then promote them over to our “prod” Jenkins server. Because the servers look identical, I’m always afraid I might […]

Read more
Self-contained Puppet Modules in Git

I started playing with Puppet recently in an effort to write some “self contained” installation scripts that didn’t require a lot of infrastructure to support them. I ended up developing a pattern of code that allowed me to bundle the entire set of scripts, properties, and even protected encryption keys into a single Git repository. […]

Read more
Bootstrapping a SonarQube + MySQL server with Puppet

I recently went through an effort to launch a SonarQube server in our AWS development environment. I know I’m going to have to re-launch more of these in the future, so I took a little time and puppet-ized the installation. In my case, the basic environment is RedHat Enterprise Linux 6.5 (RHEL). Assumptions before you […]

Read more
The Most Important Metric for your DevOps Pipeline
http://www.kaushik.net/avinash/wp-content/uploads/2012/09/correlation_xkcd.png

Quality feedback is essential to any software delivery project and the best way to improve feedback is to reduce the developer feedback cycle and make any (and every) result transparent to the project, its members and its stakeholders.  You should continue to mesure and broadcast results through communication mechanisms commonly referred to as “information radiators.” […]

Read more
X