Setting your knife.rb cookbook_path to match your cookbook locations

Always make sure you set your cookbook_path in knife.rb to something that makes sense for your working environment. People often get confused by how/where the ‘knife’ command is finding cookbooks during commands like “knife cookbook upload” or even “knife cookbooks create.” I remember when I first leaned Chef, I would type “knife cookbook create foo_book” […]

Read more
Parameter Passing in a Build Flow

As a direct followup to my previous post, I thought the discussion of passing parameters in a build flow might be useful. Let’s start with our previous example.  I’ve created a build flow that deploys an application and runs Front-End, Back-End and Integration Tests against that application in parallel.  In addition, we’ve added several features […]

Read more
Using a Build Flow for Deployments and Functional Testing

Jenkins is a powerful tool in your Continuous Integration and Continuous Delivery toolbox.  For my last clients over the past several years, we have utilized Jenkins to deploy software and preform automated testing.  One of the most powerful tools I have used to orchestrate deployments and testing has been the Build Flow Plugin.  It has allowed […]

Read more
A Maturity Matrix for Continuous Delivery Pipelines

I’ve worked on a number of DevOps projects recently where I’ve had to assemble Continuous Delivery (CD) pipelines to build, deploy, and test software. In my case, we’ve been using Chef to automatically deploy various components of a java-based web system using Jenkins. We have a lot of pipeline job chains created in Jenkins to […]

Read more
Setting up Chef Knife workstation to use multiple Chef servers

I have the problem of working against multiple open-source Chef servers to manage cookbooks, environments, etc in our continuous delivery pipeline. Chef and the “knife” tool, in general, like to use configuration information from ~/.chef/knife.rb. Within that file lies the all-important configuration item: chef_server_url. How do you deal with this if you’re working with multiple […]

Read more
DevOps/CI and the T word

New Sheriff in Town Having hopped on the CI/CD train early, starting out most of my work was with introducing a client to CI/CD and standing up an initial implementation. Later as  DevOps and CI/CD matured, it became not uncommon to have to take over a failed or barely limping CI/CD implementation. The T word […]

Read more
Force Mounting Drives in Cloud Formation on Windows

I’ve been doing a lot of AWS, EC2, Cloud Formation, Chef, and Windows lately. In particular, we’re building a Continuous Delivery pipeline that launches groups of machines to build up application stacks. I have a situation where I need to build Microsoft SQL Server machines in the Amazon EC2 cloud environment. In particular, the operations […]

Read more
X