A DevPack with all you (or Bill Gates would) need for cooking with Chef, Vagrant and Docker on Windows, shrink-wrapped in a portable package.
As the only prerequisite you need to have a recent version of VirtualBox installed (sorry, couldn't make that one portable).
Using Bill's Kitchen itself is fairly simple. There is nothing to install, just unpack and go:
bills-kitchen-<version>.7z
package from the releases page and unpack itW:\
drive by double-clicking the mount-drive.bat
fileW:\Launch ConEmu.lnk
to open a command prompt (also runs W:\set-env.bat
to set up the environment)The main tools for cooking with Chef / Vagrant:
These plugins are pre-installed:
vagrant install <plugin>
to install morechef gem install <plugin>
to install moreUseful additions for a better cooking experience:
ssh.exe
and rsync.exe
to make rsync-based Vagrant synced folders work on WindowsThe following changes are applied to your environment by running W:\set-env.bat
:
W:\
drive:
%HOME%
points to W:\home
%VAGRANT_HOME%
points to W:\home\.vagrant.d
%CHEFDK_HOME%
points to W:\home\.chefdk
%PATH%
is preprended with the bin dirs of the tools in W:\tools\
%VBOX_USER_HOME%
points to %USERPROFILE%
, i.e. VirtualBox VMs are still stored under %USERPROFILE%
set TERM=cygwin
to fix vagrant ssh issuesset CYGWIN=nodosfilewarning
to mute vagrant ssh warningsset ANSICON=true
to get coloured output with Vagrant on Windowsset SSL_CERT_FILE=W:\home\cacert.pem
pointing to recent CA certs avoiding Ruby SSL errorsRegistered doskey aliases:
be <command>
for bundle exec <command>
vi <file_or_dir>
for atom <file_or_dir>
b2d <args>
for boot2docker <args>
These repositories are used for acceptance-testing the common usage scenarios:
As a prerequisite for building bill's kitchen you need:
C:\Program Files\7-Zip\7z.exe
To build the kitchen (make sure you don't have spaces in the path):
$ gem install bundler
$ bundle install
$ rake build
This might take a while (you can go fetch a coffee). It will download the external dependencies, install the tools and prepare everything else we need in the kitchen into the target/build
directory. Finally it runs the spec/integration
examples to ensure everything is properly installed.
To run the more comprehensive spec/acceptance
tests:
$ rake acceptance
This will use various of the tools in combination by running the main usage scenarios, e.g.:
bundle install
, vagrant plugin install
, vagrant up
knife cookbook test
, foodcritic
, chefspec
and test-kitchen
Finally, if all the tests pass you can create a portable zip package:
$ rake package
This will and finally package everything in the target/build
directory into target/bills-kitchen-<version>.7z
.
By default the Ruby DevPack will be mounted to the W:\
drive. If you need to change it you only have to update the references in these two files:
mount-drive.cmd
unmount-drive.cmd
Bill's Kitchen bundles lots of awesome Open Source software. The copyright owners of this software are mentioned here. For a full-text version of the licenses mentioned above please have a look in the tools
directory where the respective software is installed.
Bill's Kitchen itself is published under the MIT license. It is not "derivative work" but rather "mere aggregation" of other software and thus does not need to be licensed under GPL itself.