ようへいの日々精進XP

よかろうもん

redis をセットアップする cookbook を Community cookbook に登録してみました

概要

  • redis を導入する為の cookbook をちゃんと作ってみた
  • とは言え、以前に作ったものを fork する形で作ることにした
  • せっかくなので github で marge も初体験してみた
  • さらに Community Cookbook にも登録してみた

まずは...

redis_2_cookbook

名前は変だけどこちらにアップした。特に凝ったこともせず、attributetemplate を使ったもの。次期バージョンでは、以下を検討する。

  • 既存バージョンを自動判定して最新バージョンより低ければバージョンアップする
  • 様々な OS で動くようにする(現在のバージョンでもイケるかも。但し、未検証)

serverspec の spec ファイルを同梱した

今回、cookbook の作成にあたり serverspec のテストを作った後で cookbook を作っていったので、テストドンブリスペシャルということでアーカイブに同梱してみた。

こんな感じ。テストが全部通ればインストール出来たってことで。


github で merge した

master ブランチはイジらない

恥ずかしながら、これまでは master ブランチをジャンジャンバリバリ cookbook を弄っていたが、それはアカンらしいので作業用のブランチを作って作業した。master ブランチから fork した後で...

git clone https://github.com/inokappa/redis_2_cookbook.git
cd redis_2_cookbook
git checkout -b newfeature

以後は newfeature ブランチで作業を続ける。

自作自演の pull request

いい感じで出来たところで newfeature ブランチに push する。

git push origin newfeature

push した後で pull request を以下のように送ってみた。

f:id:inokara:20130713114357p:plain

自作自演なので悪い組織の片棒を担ぐような気分になってしまう。

そして merge

自作自演の pull request に応えるべく master ブランチに merge する。

そして、最後に git push して完了。ただし、上記の手順はベストプラクティスでは無いと思われるので引き続き勉強する。


勢い余って Community Cookbook に登録した

knife コマンドでサクッと

タイムリーにこちらに紹介された方法で簡単に登録出来た。(但し、こちらでアカウントを作成して API キーこちら生成してダウンロードしておく必要がある)

knife cookbook site share redis_2_cookbook ${category} -o ${my-cookbook-path} -u ${usre-name}                                                                        

取得した API キー(xxxxx.pem)は以下のように knife.rb に記載しておいても良い。(上記の例は knife.rb に記載されていることを前提としている。)

current_dir = File.dirname(__FILE__)
client_key               "#{current_dir}/xxxxx.pem"

正常に登録されると以下のようなページが出来た。ヤッター。

f:id:inokara:20130713120706p:plain

README がグチャグチャなので後で書き直したい...


ということで

  • せっかくアップしたので何かしらのフィードバックがあると嬉しい

参考

以下を参考にさせて頂きました。