2013-01-01から1年間の記事一覧

僕が chef-server を使わない理由

昨日、chef 系の記事をちゃんと書いていこうと思ったので、 さっそく一本書いてみようかと思います。chef に関して、いろんな人と話したり、ブログで見聞きしていると、みんな chef-server でハマっているようです。 chef-server は、最近リリースされた erc…

Re: Chefに挫折したあなたへ。Fabricのすすめ

Chefに挫折したあなたへ。Fabricのすすめ という記事を読んだので、呼ばれてもいないのに勝手に返事を書いてみます。 追記(3/13 10:00): タイトルを typo していたようなので訂正しました。ちなみに僕のポジションとしては chef 推進派です。 仕事の空き時間…

Python の tuple のリテラル表記について考える

id:t2y-1979 のパーフェクトPythonというエントリの一節、 要素が1つの場合には tuple である事が解らなくならないように、(1,) のように末尾にカンマを記述します。 これは少し誤解を招く表現です。というのは、分からなくならないようにこのような記述をす…

あたらしい capistrano-rbenv 0.0.11 と CentOS 5.x と僕

先日書いた multistage 環境で capistrano-rbenv を使うときは rbenv_path の扱いに注意! という記事がきっかけで capistrano-rbenv への修正パッチを取り込んでもらえました。 id:yyuu さん、その節はありがとうございます。そして、今日気がついたのです…

capistrano で OS/distro ごとに実行タスクを切り替える

capistrano で、ある OS/distro のときだけこれを実行したい、ということがある。 主に依存パッケージを入れるときなど。 こっちのサーバは CentOS 5.x だから〜〜パッケージを入れたいのだけど、 こっちのサーバは CentOS 6.x だからパッケージ名が変わって…

開発サーバに chef を入れるときの 11の方法

タイトルは釣りです。11個もやり方をしらないまま書き始めます。最近 chef が流行っていますが、みなさんどうやって各サーバに chef をインストールしていますか?ここでは僕がいままで紆余曲折していた方法を紹介します。 列挙だけするとこんな感じです。 va…

chef cookbook 紹介シリーズ(2): python

明日と明後日、多摩の方で開催される OSC 2013 Tokyo/Spring に参加してきます。 Sphinx-users.jp のブースにいるので、興味がある人は声をかけてください。 というわけで、普段の出勤時間より早く起きなくちゃいけないというのに、 今日もこつこつブログを…

yauthstatus コマンドで YAuth のステータスコードを素早く調べる

一般的な Web Programmer ならば、YAuth Status code はすべて暗記していると聞きました。しかし、僕は独身なので、なかなか覚えきれていないので、YAuthのステータスコードをさがすのに便利なツールを用意しました。 yauthstatus.py です。 同じ gist に貼…

chef cookbook 紹介シリーズ(1): timezone

ネタに困ったので、僕が使っている chef cookbook をひとつずつ紹介していくことにしました。 今日は timezone です。opscode community で公開されている cookbook は、ストレートな名前が付いているのでほとんど説明不要なのですが、 この timezone も読ん…

Capistrano でホスト毎に設定(デプロイ手順)を変化させる

Rails のアプリを書いていて、ホストによって routes.rb を切り替えたくなることがあります。 別にそんなのいらないんじゃないの? と思うのですが、お客様の要件なので嫌でも切り替えたくなってきます。自然の摂理ですね。そんな時、Capistrano でどう書くべ…

multistage 環境で capistrano-rbenv を使うときは rbenv_path の扱いに注意!

タイトル読んで納得した人は読み飛ばしてください。 VM の設定が完了するのを待ちつつ Fulentd Casual Talks #2 の ust 聞きながらこれを書いてます。 capistrano-rbenv 使ってますか? デプロイ先で rbenv を使う場合は capistrano-rbenv が非常に便利です。…

続オレオレ capistrano TIPS: db:create をリモートから実行する(再)/メンテナンス画面を出す

前回に引き続き capistrano TIPS です。 データベースを初期化する 前回書いたタスクを簡単に利用できるよう、パッケージ化しました。 capistrano-rails-dbinit というパッケージです。 インストール さっくり gem コマンドで入れます。 $ gem install capis…

オレオレ capistrano TIPS: database.yml の設置/unicorn を使う/db:create をリモートから実行する

capistrano を使って rails アプリをデプロイしようとすると、ちょっとしたところでつまづきます。今日は、最近僕が躓いたこと/調べたことをいくつか書いてみたいと思います。 database.yml を設置する database.yml にはパスワードなどの扱いに困る情報が載…

rvm-capistrano を使って RVM をインストールする

chef 見習いの @tk0miya です。全国の chef 使いのみなさん、いかがお過ごしでしょうか。最近、自分が使っている VM に入っている ruby の数を調べてみてびっくりしました。 OS 標準のもの (/usr/bin/ruby) Chef Omnibus Installer 由来のもの (/opt/chef/om…

chef cookbook の文法チェックをする: knife cookbook test + Travis CI

昨日は chef cookbook のテストのひとつとして、foodcritic を取り上げました。 参考にした記事 には、実はもうひとつ続きがあるので、それを紹介します。 もちろん、単なる紹介では面白くないので「簡単に使える」ようなパッケージも用意しています。今回紹…

chef cookbook の静的解析テストをする: foodcritic + Travis CI

いつまでもブログのトップが去年を振り返るのままではとてもいかんと思いました。(挨拶)今日は chef cookbook のテストをする foodcritic について書きます。 とは言え、これを読むシェフ通の方々は既に foodcritic のことぐらいご存知ですよね。 $ gem inst…

2012年を振り返る / 2013年の抱負

*1風邪が治り切らないまま年を越してしまったので、今更ながら 2012年の振り返りでもしてみましょう。2012年の抱負 として挙げたのは 技術者として再生する ドキュメント系のツール/コミュニティに貢献する なにか使えるツールをリリースする (少なくとも一…