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
#FACEPALM: In Defense of Defense in Depth

I’ve been working in cyber security for nearly a decade.  While I have heard all kinds of justifications for bogus ideas, today I heard a very old argument that had, in my belief, all but been removed from the understanding of even the most non-technical of industry professionals. In response to a recent article in which […]

Read more
Using Genymotion to Simulate a Moving Device

Introduction For my mobile testing, I’ve been using emulators more and more, as their capabilities improve, and my testing moves beyond the features that simulators can provide (see several of my old posts on using browsers for simulation). I have spent a lot of time with Genymotion, as it provides a lot of excellent features, […]

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
knife zero

Dear Loyal Readers, If you ever wish you could bootstrap a machine with chef-zero, but remotely, then knife-zero plugin is for you (aka: “do you ever wish Chef were more like Ansible?”). Last week, I was trying to combine multiple knife commands: “-z” for using chef zero, and “bootstrap” for making a remote computer install chef-client first.  But, […]

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
Start Using Gradlew

Gradle is very powerful build automation tool.  It supports numerous languages, has a wide array of plugins to choose from, or write your own, easily manage dependencies, and integrates with the build systems such as Jenkins.  Gradle makes it very easy to execute common build tasks and even execute commands on the operating system shell. […]

Read more
Auto-commit Jenkins configuration changes with Git

In my previous post, I described a technique for putting your Jenkins server configuration under version control. It’s a great way to ensure that your changes are always tracked and that you can recover if/when things get out of whack. However, if it requires you to regularly log onto the Jenkins box and manually run […]

Read more
Version control your Jenkins server configuration with Git

I’ve worked on a variety of continuous integration and continuous delivery projects. We frequently use Jenkins as our platform for driving all build, provisioning, and deployment activities. As part of this, we have a lot of fairly complicated jobs in Jenkins that we are constantly modifying. As a version control pundit, one of my goals […]

Read more
X