chef-steel
Hone your tools with chef-steel!
chef-steel
is a tool that can keep testing-related configurations up-to-date
within one or more repos. If you work within many different repos that share
a common set of testing tools (i.e. Rubocop, Foodcritic, Travis, Jenkins, etc.)
it can be easy for their configuration to drift. With chef-steel
you can
update one or more of these configuration files from a central repository,
as needed.
NOTE: This tool ain't just for Chef developers! Use it for any repo whose testing-related configurations you want to keep up-to-date.
Installing chef-steel
To begin honing your tools, install chef-steel
via gem
:
gem install chef-steel
chef-steel
Usage
[ryanleefrantz@remington ~/git/chef-steel] (master) $ steel -h
Usage: steel [-efrvy]
Hone your tools!
Options:
-e, --exclude-files *XFILES One or more explicit file names (space-separated) to *exclude* from being copied from the repo
Ex. -e README.md
Ex. --exclude-files README.md metadata.rb
Default: [".gitignore", "Policyfile.rb", "README.md", "metadata.rb"]
-f, --files *FILES One or more explicit file names (space-separated) to copy from the repo
Ex. -f .rubocop.yml
Ex. --files .rubocop.yml .rspec
Default: All top-level files in the repo (excluding the value if --exclude-files)
-r, --repo The full URL of a repo containing config files to clone
-v, --version Show version and exit
-y, --yes Answer "yes" to all prompts
Default: false
chef-steel
has a few command line options. See above for the help output.
Each of the command line options can be defined in a config file (command line
options always take precedence). chef-steel
will look for /etc/steel/steel.yml
and ./steel.yml
, in that order, applying configuration values in a last-defined-wins
manner.
See steel.yml.example for more details.