Pages

2011/04/25

Chef-Clientを既存Gem環境に影響なくインストール

Chefは便利だが、少なくともRuby+Gems(Chef)まで必須で、もちろん依存するGemsも必要だ。

Rubyを利用していない環境ならともかく、他とお互い干渉しないようにしておきたい。


ただのBundlerの紹介になるが、Chef-Clientを既存環境に影響ないよう使ってみる。



Bundler環境に作り、Gemsをインストール



# mkdir /opt/chef-client
# cd /opt/chef-client

# bundle init
Writing new Gemfile to /opt/chef-client/Gemfile

# echo gem \"chef\">> Gemfile

# bundle install --path=vendor/bundle


このあと"/etc/chef/validation.pem"をChefSeverから持って来たり、"/etc/chef/client.rb"を編集してChef-Serverを指定という作業を挟むが割愛する。

BundlerコンテキストでChef-clientを実行。
# bundle exec chef-client


無事に実行されるはずだ。
 

環境別Gemsの比較


rubyの標準Path上のGemsはこうなった、汚れてないのが分かる。

# gem list

*** LOCAL GEMS ***

bundler (1.0.12)
minitest (1.6.0)
rake (0.8.7)
rdoc (2.5.8)


BundlerコンテキストでのGemsはこうだ。

/opt/chef-client # bundle list
Gems included by the bundle:
* bundler (1.0.12)
* bunny (0.6.0)
* chef (0.9.16)
* erubis (2.7.0)
* extlib (0.9.15)
* highline (1.6.1)
* json (1.4.6)
* mime-types (1.16)
* mixlib-authentication (1.1.4)
* mixlib-cli (1.2.0)
* mixlib-config (1.1.2)
* mixlib-log (1.3.0)
* moneta (0.6.0)
* ohai (0.6.2)
* rest-client (1.6.1)
* systemu (2.2.0)
* uuidtools (2.1.2)
* yajl-ruby (0.8.2)

 

Bundlerさまさまだね。
 

0 件のコメント:

コメントを投稿