ChefのBerksfile
こんにちは。 メールを見ていたりしたら、あっという間に時間が過ぎて手を動かしていない状況のkikeda1104です。
今回は、プロビジョニングツール「Chef」のBerksfileについて、書いていきます。
Chefって何美味しいの?
Chefとは何かを説明するのに、「プロビジョニング」を説明する必要があるので、まずこちらから説明します
プロビジョニングとは
wikipediaから引くと
プロビジョニング(英: Provisioning)は、本来は「準備、提供、設備」などの意味であり、現在では通常、音声通信やコンピュータなどの分野における、ユーザーや顧客へのサービス提供の仕組みを指す。*1
端的に言えば、私が利用している意味は、サーバの環境構築の自動化です。
Chefとは
プロビジョニングツールと言われるChefは、サーバの環境の構築を、準備されているDSLにより 記述することで、開発者もしくは管理者の想定通りに、サーバを構築してくれるツールです。
プロビジョニングツールは、Chefだけではなく、Peppet、Ansibleなどが含まれます。
Berksfile
source
に記載しているAPIを利用して、どのクックブックの情報を取得するのか指定するものです。
用意されている、クックブックをダウンロードしてくれます。
cookbook 'nginx'
など
Befksfileの記述例
source "https://api.berkshelf.com" cookbook 'nginx'
Vagrantからcookbookを呼び出す
Vagrantに関する詳細については、また別途書きたいと思いますが、ここでVagrantからダウンロードしたcookbookを利用するDSLのサンプルコードを記述しておきます。*2
config.vm.provistion :chef_solo do |chef| chef.cookbooks_path = ["./cookbooks"] chef.add_recipe 'nginx' end
以上です。
*2: chef_zeroについては、情報が集められ次第、別の記事にアップデートしていきたいと思います。