プログラミング 美徳の不幸

Ruby, Rails, JavaScriptなどのプログラミングまとめ、解説、備忘録。

google compute engineのインスタンス管理, capistrano

AWSと違ってcompute engineってruby界隈の使用実績あんまない気がします。 というのは、capistrano連携について考察されたものがほとんどなく、例えばインスタンスを増やした時にcapistrano側の設定ファイルをいじったりするの超だるいんで避けたいんだけど、そういう少し使えば当たり前に必要な機能も全然ないし。

一応githubとかrubygemsでcompute engineとかで調べたけどぜんぜんなかった。というわけで作りましたよ。

github.com

これははっきりいって僕の環境でしか動作確認してないから、たぶんたいていの人はgcloudコマンドを叩くところで何か問題が起きる。ので、このあたりに改善点があるのだけど、まぁそれはforkなりしてくれた人に任せよう。

これがあれば、とりあえずvmインスタンスにタグ付けでcapistrano側から認識可能になるし、capistranoの設定ファイルをいちいち変更することはない。まぁ、厳密に言えばあるタグのインスタンスが0になっちゃいけないとか、複数なきゃいけないみたいなバリデーションが必要だと思うのだけどそれはこのライブラリとか、そもそもcapistranoでやることではないので別のソリューションに期待。