ncss-cookbooks コマンド¶ ↑
概要¶ ↑
Chef の Cookbooks を一発で NIFTYCloud クラウドストレージにアップロードするコマンドです。
インストール¶ ↑
gem install ncss-cookbooks
コマンド一覧¶ ↑
$ ncss-cookbooks Commands: ncss-cookbooks create <bucket_name> # create ncss bucket ncss-cookbooks help [COMMAND] # Describe available commands or one specific command ncss-cookbooks upload <bucket_name> # upload . to ncss bucket Options: [--access-key-id=ACCESS_KEY_ID] [--secret-access-key=SECRET_ACCESS_KEY]
使い方¶ ↑
まずはアップロードしたい cookbooks を用意します。
$ mkdir my-cookbooks $ cd my-cookbooks $ echo "cookbook_path '.'" > knife.rb $ knife cookbook create hello-world ** Creating cookbook hello-world ** Creating README for cookbook: hello-world ** Creating CHANGELOG for cookbook: hello-world ** Creating metadata for cookbook: hello-world
次に同じディレクトリの中に、 cookbooks のバージョン情報が書いてある VERSION ファイルを作成します。
$ echo "0.0.0" > VERSION
さらに環境変数で API キーを設定します。
$ export ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX $ export SECRET_ACCESS_KEY=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
これで準備完了です。cookbooks ディレクトリの中で ncss-cookbooks コマンドを打ちます。
ncss-cookbooks create でバケットを作成します。
$ ncss-cookbooks create my-bucket
ncss-cookbooks upload で作成したバケットに cookbooks をアップロードします。
$ ncss-cookbooks upload my-bucket Version is v0.0.1 Creating directory /tmp/ncss-cookbooks-20130519-30448-2im9m1/cookbooks/ Copying files from /home/tily/dev/ncss-cookbooks to /tmp/ncss-cookbooks-20130519-30448-2im9m1/cookbooks/ Excluded /home/tily/dev/ncss-cookbooks/.git Archiving /tmp/ncss-cookbooks-20130519-30448-2im9m1/cookbooks/ to /tmp/ncss-cookbooks-20130519-30448-2im9m1/cookbooks.tgz Uploading /tmp/ncss-cookbooks-20130519-30448-2im9m1/cookbooks.tgz to bucket:my-bucket, object:v0.0.1/cookbooks.tgz Temporary directory /tmp/ncss-cookbooks-20130519-30448-2im9m1 will be deleted automatically Uploaded to https://my-bucket.ncss.nifty.com/v0.0.1/cookbooks.tgz
発行された URL は chef-solo の -r オプションで利用することができます。
$ chef-solo -j node.json -r https://my-bucket.ncss.nifty.com/v0.0.0/cookbooks.tgz