LoginSignup
14

More than 5 years have passed since last update.

ChefSolo開発手順

Posted at

2013.07.10版

ChefSolo環境構築 - Qiitaの続き。

カレントディレクトリを作業用のディレクトリに移動する。

$ cd hogehoge

Vagrant設定ファイルの配置

$ vagrant init

Vagrant設定

カレントディレクトリにあるVagrantfileを編集する。

Vagrantfile
config.vm.box = "base"

"base" を、vagrant box addで登録したBOX名称に変更する。

VitrualBoxの設定で、作業PC(ホストOS)との通信用にhostonlyを追加しているのなら、 config.vm.network :private_network, ip: のIPアドレスを適当なアドレスに書き換え、行頭の#を外して有効化する。

Vagrantfile
config.vm.network :private_network, ip: "192.168.56.10"

仮想マシン起動&接続設定

Vagrantを使用して、仮想マシンを起動する。

$ vagrant up

自動ログインの設定を登録する

$ vagrant ssh-config --host hogehost >> ~/.ssh/config

hogehostは仮想マシンに対する通称。

何をやっているかというと、作業PCの使用中のアカウントの.ssh/configに立ち上げた仮想マシンへのログイン情報追加記載している。
>>>になると書き換えてしまうので要注意。
よってhogehostの様な通称は、今まで使ったことも使う予定も無いもので無いといけない。
この作業で$ ssh hogehostで仮想マシンにログイン出来るようになる。
ただし、普通は$vagrant sshでログインする。

作業準備

リポジトリ(hogerepとした場合)作成

$ knife solo init hogerep
$ cd hogerep

仮想マシン上へのcookbookの展開やChefSolo実行の準備をする。

$ knife solo prepare hogehost

Sandbox onにする

起動と準備が完了した状態でSandbox onしておく。

$ vagrant sandbox on

cookbook作成

hoge1appのcookbookを./site-cookbooksに作る場合

$ knife cookbook create hoge1app -o site-cookbooks

cookbook編集

/site-cookbooks/hoge1app/内のrecipeやtemplateなど編集

適用cookbookを指定

./nodes/hogehost.jsonに適用するcookbookを指定

hoge1appのみ適用の場合は、

hogehost.json
{"run_list":["hoge1app"]}

hoge1appとhoge2appとhoge3appを適用する場合は、

hogehost.json
{"run_list":["hoge1app", "hoge2app", "hoge3app"]}

と記載。

cookbook適用

$ knife solo cook hogehost

適用cookbookを修正する場合

動作が思った物では無く、cookbookを修正する場合は、vagrantでsandbox onのところまで戻る。

$ vagrant sandbox rollback

cookbook編集に戻って、やり直し。

適用cookbookが問題無く、続いて開発を進める場合

vagrant sandboxの状態を現時点まで進めるので、sandbox commitを実行する。
動作したままcommitすると非常に時間がかかるのでサスペンドして行う。

$ vagrant suspend
$ vagrant sandbox commit
$ vagrant resume

次のcookbook作成に進み、検証を繰り返す。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14