(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| #!/usr/bin/env ruby | |
| require 'colorize' | |
| require 'open3' | |
| require 'benchmark' | |
| require 'optparse' | |
| class TestRunner | |
| attr_accessor :converge_enabled, :verify_enabled |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
The files in this gist are for having Jenkins automatically manage a chef repository using git submodules. This allows for clean, clutter free management of individual cookbooks, and individual respositories for roles, environments and data bags in our chef-repo.
The process relies on using Github (we use Github Enterprise) and Jenkins in combination with the Jenkins Github plugin to notify Jenkins when a repository has changed.
Our chef-repo directory looks something like:
chef-repo
- cookbooks
- Each cookbook is a git submodule managed by Jenkins
- data_bags (git submodule managed by Jenkins)
| # Knife Configuration File. | |
| # | |
| # This is a Ruby DSL to set configuration parameters for Knife's | |
| # general options. The default location for this file is | |
| # ~/.chef/knife.rb. If multiple Chef repositories are used, | |
| # per-repository configuration files can be created. A per repository | |
| # configuration file must be .chef/knife.rb in the base directory of | |
| # the Chef repository. For example, | |
| # | |
| # ~/Development/chef-repo/.chef/knife.rb |