概要
- redis を導入する為の cookbook をちゃんと作ってみた
- とは言え、以前に作ったものを fork する形で作ることにした
- せっかくなので github で marge も初体験してみた
- さらに Community Cookbook にも登録してみた
まずは...
redis_2_cookbook
名前は変だけどこちらにアップした。特に凝ったこともせず、attribute
と template
を使ったもの。次期バージョンでは、以下を検討する。
- 既存バージョンを自動判定して最新バージョンより低ければバージョンアップする
- 様々な 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 を以下のように送ってみた。
自作自演なので悪い組織の片棒を担ぐような気分になってしまう。
そして 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"
正常に登録されると以下のようなページが出来た。ヤッター。
README がグチャグチャなので後で書き直したい...
ということで
- せっかくアップしたので何かしらのフィードバックがあると嬉しい
参考
以下を参考にさせて頂きました。