ChefTips: Berkshelf で 特定バージョンのCookbookをダウンロード
Chef で使う Cookbook をダウンロードするとき、いくつかの選択肢がありますが、よく使うものの一つが Berkshelf です。多分。
Berkshelf
http://berkshelf.com
Chef Cookbook の管理ソフト。依存するCookbookを supermarket や Github/Gitlab からダウンロードしてくれる。Ruby でいうところの Bundler。
Berksfile での バージョン指定方法
Chef社が管理する chef supermarket から cookbook をダウンロードする時と、Github/Gitlab で管理されている cookbook をダウンロードする時とで少し表記が異なります。
慣例的に、Github/Gitlab では Cookbookのバージョンを tag で管理することが多いようです。そのため、Berksfile にも tag オプションで指定することにご注意ください。
$ cat Berksfile
source 'https://supermarket.getchef.com'
# from supermarket
cookbook 'lvm', '= 2.1.2'
# from Github / Gitlab
cookbook "firewalld-cookbook", git: "[email protected]:kentarok/firewalld-cookbook.git", tag: "v1.1.0"
metadata
$ chef exec berks vendor ./vendor
バージョン指定の表記
ざっくりまとめると下記のように記述します。詳細は公式をご参照ください。
- Equal to (=)
- Greater than (>)
- Greater than equal to (<)
- Less than (<)
- Less than equal to (<=)
- Pessimistic (~>)
参考/引用: About Cookbook Versions
git clone で ダウンロードする際の バージョン指定方法
参考までに、git clone
では -b
オプションでタグを指定します。ブランチ扱いなんでしょうか…。
$git clone -b v1.0.0 [email protected]:kentarok/firewalld-cookbook.git
git コマンドでのタグ付与方法
github / gitlab WebGUIからタグを付与することもできますが、git
コマンドで付与してあげるほうがお手軽なように思えます。
$ git tag -a "v2.0.0" -m "tag msg 2.0.0"
$ git tag
$ git push --tags
Author And Source
この問題について(ChefTips: Berkshelf で 特定バージョンのCookbookをダウンロード), 我々は、より多くの情報をここで見つけました https://qiita.com/kentarok/items/54d6dc7ccf1aa5fcb896著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .