タグ

ブックマーク / tk0miya.hatenablog.com (13)

  • Re: Chefに挫折したあなたへ。Fabricのすすめ - Hack like a rolling stone

    Chefに挫折したあなたへ。Fabricのすすめ という記事を読んだので、呼ばれてもいないのに勝手に返事を書いてみます。 追記(3/13 10:00): タイトルを typo していたようなので訂正しました。 ちなみに僕のポジションとしては chef 推進派です。 仕事の空き時間や自分の時間で、開発環境の自動化を模索する趣味 chef 使いです。 これまで他の自動化ツールはこれまでほとんど使っておらず、 ミスや手順書のボリューム削減のためにシェルスクリプト化を進めるぐらいでした。 ちなみに、chef を使いはじめる際に、比較検討のために puppet や fabric などのいくつかのツールについて ドキュメントやブログを読みあさった経験はあります。 あと、chef と組み合わせて使うために capistrano を最近使っています。 学習に時間がかかる 同意します。chef のもっぱらの

    Re: Chefに挫折したあなたへ。Fabricのすすめ - Hack like a rolling stone
  • Capistrano でホスト毎に設定(デプロイ手順)を変化させる - Hack like a rolling stone

    Rails のアプリを書いていて、ホストによって routes.rb を切り替えたくなることがあります。 別にそんなのいらないんじゃないの? と思うのですが、お客様の要件なので嫌でも切り替えたくなってきます。自然の摂理ですね。 そんな時、Capistrano でどう書くべきかちょっと調べてみました。 ロールを使う Capistrano で標準的かつ一番最初に思いつく方法です。 ロール定義とタスク定義に条件を付けることで、ホストごとに実行するタスクを切り替えることができます。 namespace :app do desc "Switch routes.rb (for admin)" task :switch_admin_routes_rb, :roles => :admin_web do run get_routes_rb_switcher(:admin) end after "deploy

    Capistrano でホスト毎に設定(デプロイ手順)を変化させる - Hack like a rolling stone
  • オレオレ capistrano TIPS: database.yml の設置/unicorn を使う/db:create をリモートから実行する - Hack like a rolling stone

    capistrano を使って rails アプリをデプロイしようとすると、ちょっとしたところでつまづきます。 今日は、最近僕が躓いたこと/調べたことをいくつか書いてみたいと思います。 database.yml を設置する database.yml にはパスワードなどの扱いに困る情報が載っているので、リポジトリにコミットしたくないファイルのひとつです。 また、開発環境は番環境などで設定が違うのでどうやってデプロイするか悩みます。 capistrano の wiki ページ では "Managing `database.yml` Securely" と称してこのページが紹介されています。 でも、もう少し調べていくと、実はこのコードは capistrano_database_yml という名前でリリースされています。 というわけで、capistrano_database_yml を使ってみま

    オレオレ capistrano TIPS: database.yml の設置/unicorn を使う/db:create をリモートから実行する - Hack like a rolling stone
  • Re: ChefとCapistranoの境界線 #opschef_ja - Hack like a rolling stone

    この間の Chef Casual Talks での id:nekoruri さんの発表、ChefとCapistranoの境界線 に対する 僕の考え方を書いておこうと思います。 Chefを導入する時の「考え方」 完全に同意します。 僕は community cookbooks を使おうとみんなに吹聴して回っているように、 大抵の環境で必要とされる内容は community cookbooks に収録されていることが多いです。 ただ、細く設定ができなかったり、ちょっと代わった入れ方をしたいときが出てくると community's ではカバーできなくなります。 そんなときは僕も fork して書き換える include_recipe して、追加の処理を書き足す (設定ファイルをごそっと上書きしたりとか) あたらしいものを作る などをして回避しています。 例えば、今関わっているお仕事では Apac

    Re: ChefとCapistranoの境界線 #opschef_ja - Hack like a rolling stone
  • Riak CS をインストールする優れたやり方 - Hack like a rolling stone

    一部の人が愛してやまない(らしい)、Riak CS がオープンソース化されました。 id:kuenishi が【緊急】 Riak Cloud Storage が OSS になりました【速報】なんて記事を書いて、 インストール方法を説明していますが、手順が多すぎてなにいってんだかぜんぜんわかりません。 こんなに複雑な手順なのに、手順番号も振ってないし、クロスチェック用のチェック欄もありません。 手順書としては考えられない構成になっています。 しかたがないので、シンプルな手順で Riak CS が利用できるよう、chef でインストールすることにしましょう。 家 Basho サイトを見ると Riak CS Using Chef という素敵な記事があります。 どうやら Basho では chef のレシピを提供してくれているようです。 Cheffile を作る いつもどおり、librarian

    Riak CS をインストールする優れたやり方 - Hack like a rolling stone
  • vagrant ユーザよ、その VM は安全なのか? (veewee のすゝめ) - Hack like a rolling stone

    タイトルは単なる煽りなので、気にせず先に進みましょう。 最近 chef や puppet、fabric などの自動化ツールの流行を受けて、 その実験環境として vagrant もかなり使われているようです。 vagrant は virtualbox の CLI ラッパーとして非常に良くできており、実験環境を構築するのに非常に便利なツールです*1。 そして、多くの vagrant 紹介記事が書かれているのですが、そこで気になったことがひとつあります。 それは vagrant を利用する際に vagrantbox.es に用意されている VM を利用しようと紹介されていることです。 vagrantbox.es は各々が作った VM イメージ(通称 box)を持ち寄って共有しあうサイトです。 新しくリリースされた distro. のイメージや、ツール(chef, puppet, guest ad

    vagrant ユーザよ、その VM は安全なのか? (veewee のすゝめ) - Hack like a rolling stone
  • knife-solo 0.2.0 で rsync エラーによって苦しまないためのたったひとつの方法 - Hack like a rolling stone

    結論としては、0.2.0 以降のバージョンを使いましょう。今現在は github から持ってきて使いましょう、ということです(挨拶) 昨日、Jenkins cookbook のバグ潰しをしていたら、@chiastolite さんからこんなことを教えてもらいました。 @shimizukawa @tk0miya 調度Jenkinsをknife solo使って入れてたんですが、runitnginx妙なとこでファイル展開されて、rsyncがこけるみたいです 2013-04-16 15:29:06 via YoruFukurou to @shimizukawa 手元の環境では発生しなかったので、どういうことだろう? と思って調べてみたところ、knife-solo 0.2.0 が原因でした。 何度か試行錯誤していたらこんなエラーが出てきました*1。 $ knife solo cook -p 2222

  • knife-solo を vagrant の組み合わせでは、古い chef-solo が利用されてしまう問題 - Hack like a rolling stone

    みんな大好き knife-solo ですが、今日使ってみて一個ハマりました。 knife-solo は sudo 経由で chef-solo コマンドを呼び出しているのですが、 現在のバージョンは単に sudo chef-solo しているだけなので、 /usr/local/bin 以下に chef-solo がインストールされていて… PATH に /usr/local/bin が入っている環境 では、prepare でインストールされた chef-solo ではなく、 システムに入っていた /usr/local/bin/chef-solo が利用されます。 同じ環境にふたつも chef-solo 入れないだろう、ハハハ、と笑い飛ばしたくなりますが、 chef 使いが必ず使っているであろうツールのひとつ、vagrant では ほぼすべての VM イメージ(box)の /usr/local

    knife-solo を vagrant の組み合わせでは、古い chef-solo が利用されてしまう問題 - Hack like a rolling stone
  • chef で mysql のユーザやデータベースを管理する - Hack like a rolling stone

    以前、ある環境のデータベースを作ったときは、忙しくて手が回らないという理由で ユーザやデータベースのセットアップは script リソースを作ってえいやと済ませてしまった tk0miya です。こんにちは。 今回はすべて community cookbook で環境を作る方法をまとめてみました。 やり方が分かってしまえばシンプルに実現できるので、泥臭く script リソースを作らずに済みそうです。 鍵は database cookbook ユーザやデータベースを作るレシピmysql cookbook に入っていないため、 公式には提供されていないものといままで諦めていたのですが、 調べてみると mysqll cookbook ではなく database cookbook でリソースが提供されているようです。 以下、README の説明です。 The main highlight of

    chef で mysql のユーザやデータベースを管理する - Hack like a rolling stone
  • vagrant 1.0系から 1.2系にアップグレードしてハマった話。 - Hack like a rolling stone

    vagrant box list では box があるというのに、vagrant up するとそんな box 知らないって言われる問題にぶち当たったので、 まだ vagrant 1.0 系で様子見をしてる人向けにメモっておきます。 ちなみにこの内容は Fixing “The box … could not be found” in the new Vagrant (1.1+) | WizOne Solutions を咀嚼して書きなおしたものです。 目新しいものではないのであしからず。 ついさっき、久しぶりに新しい VM を作るために vagrant up をしたら、こんなエラーが出てきました。 $ vagrant up There were warnings and/or errors while loading your Vagrantfile. Your Vagrantfile was

    vagrant 1.0系から 1.2系にアップグレードしてハマった話。 - Hack like a rolling stone
  • 僕が chef-server を使わない理由 - Hack like a rolling stone

    昨日、chef 系の記事をちゃんと書いていこうと思ったので、 さっそく一書いてみようかと思います。 chef に関して、いろんな人と話したり、ブログで見聞きしていると、みんな chef-server でハマっているようです。 chef-server は、最近リリースされた erchef によって構成がシンプルになったものの、 それでもインストールにはちょっと手間がかかるシロモノです。 僕も erchef 登場以前に試そうとして、セットアップの面倒さにげんなりした覚えがあります。 追記(3/13 15:00): @sawanoboly さんにこんな指摘をもらいました。chef-server にも omnibus installer があるようです! @tk0miya 蛇足かもですが、最近のChefServerのインストールはラクなもんです。 URL 2013-03-13 14:40:16

  • 迷いながらも勉強会に参加していくひとつのやり方。 - Hack like a rolling stone

    最近、勉強会やコミュニティの入口で迷子になっている方とお話しました。 その方曰く、勉強会やコミュニティに対してこんなイメージを持っているそうです。 技術力/知識がないので、自分が参加してもよいのか悩むことがある 基礎がわかってないと「そんなのもわかってないの?」と言われてしまいそう エキスパート(モヒカン)たちはなんでも知ってる どこまで勉強したらコミュニティに参加しても恥をかかないんだろうか 今の発表、よく分からなかったけど、周りの人達は理解してるんだろうな… 忙しくて勉強する時間がとれないと、どんどん置いていかれてしまう気がする あるタイミングで勉強会で何度かお会いした別の方も、表現は違えど似たようなことをおっしゃっていました。 おそらく、僕は勉強会によく出没して発表などもしているので、 彼らの言うエキスパート(モヒカン)に該当しているかと思う*1ので 1エントリー書いてみることにしま

  • 開発サーバに chef を入れるときの 11の方法 - Hack like a rolling stone

    タイトルは釣りです。11個もやり方をしらないまま書き始めます。 最近 chef が流行っていますが、みなさんどうやって各サーバに chef をインストールしていますか? ここでは僕がいままで紆余曲折していた方法を紹介します。 列挙だけするとこんな感じです。 vagrant の VM イメージに入っているもの omnibus installer を使う knife solo を使う OS の ruby 環境に chef を入れる RVM 環境を作って chef を入れる rbenv 環境を作って chef を入れる roundsman を使って chef を入れる vagrant の VM イメージに入っているもの vagrant の VM イメージには、大抵 ruby と chef がインストールされています。 veewee を使ってあたらしい VM イメージを作成すると必ずインストールさ

    開発サーバに chef を入れるときの 11の方法 - Hack like a rolling stone
  • 1