Ubuntuにcapistranoを入れる。 [プログラミング]
Rubyで出来たデプロイツール、らしい。正直、何が便利なのかもわかってない。以下、Railsを入れた環境に入れてるので、必要なパッケージをそこで入れた可能性がある。
http://miff.blog.so-net.ne.jp/2013-02-18-1
Ubuntuに入れてるけど、参考にしたページはRedHat系ですね。
http://ncloud.cocolog-nifty.com/blog/2011/05/capstranochef15.html
とてもわかり易い説明ですね。
さて使い方ですが、https://github.com/capistrano/capistrano/wiki で見てもいいと思うんだけど、実用に即していた方がいいし、英語読むの面倒だし。ググって上位に来たものを見てみる。
http://d.hatena.ne.jp/dkfj/20120228/1330434467
わりと単純構成なようで、デプロイの挙動を見るにはいい感じ。やってみようか。
git入ってないな。
Passengerってのは、RailsをApacheで動かす設定みたいですが、使わないことにしよう。Apacheはつぶしが利くが、そこまでの機能を使う必要にはなってない。メモリの必要量もデフォルト環境より多いんだろうし。RailsのWebサーバが飛び抜けて優秀じゃないことは、passengerやnginxを一緒に使っている状況を考えても分かる。だけど、あえてそこはいじらない。面倒だし、色々わかってからでいい。
ってのも入れておこうか。つーか、ハイフンとアンダーバーくらい名前を統一してくれぃ。
>複数の環境(開発、ステージング、本番)にデプロイ出来るように、それぞれの構成を別けて記述する
capistrano-extってのはそういう意味があるのがわかったけど、colorsってのは何だ? gemってコマンドで内容を調べにくいんだよね。ん~出力文字に色付けるだけだから、入れても入れんでもいいか。しかし、extを見るとやっぱりRailsのデプロイツールって面が大きいのかな。
自分の作ったプロジェクトのGemfileにはこういう記述があったんだけど
gem 'capistrano' のコメントアウトを取るだけで良さそうだけど、そうするとリンク先とは違っちゃうな。どっちもやってみよう。とりあえずは、リンク先と同じ設定でやってみる。
/var/www/を自分のユーザーのディレクトリとして作らないといけなかったんだけど、それはApacheを入れてないからなんだろうなぁ。一応、動かすことが出来たんだけど、デプロイ以外の操作がいまいち分からない。一番問題となりそうな、実行する方法があるのかがわかってない。デプロイしたディレクトリでrails sするときちんと動くことは確認できたのだが、それって、capとかで管理できないのかと思ったり。
デプロイした時間ごとに、その時間が名前になっているディレクトリを探して、rails sすれば動くけどちょっと煩雑だと思うし、そこいらのコマンドって
ってのを使って調べるか、本家の英語サイトに行くのが一番なんだろうなぁ。今見たけど、どっちも直球なドキュメントじゃなかった。一応は動いたので、そこからいじくって挙動を調べてみるのが良さそうです。デプロイが面倒なのが、この設定よりかは楽にできるんだろうから、いくらか便利な機能はついてるんだろうな、と思う。こういうのは手を動かすよりも、ドキュメントを見てきちんと意図を理解したほうが漏れが少なくていい。まぁ自分が必要な部分だけでも、それはすべきなんだろうなぁ、あんまりやらないけど…。
とりあえず動いたので、自分が必要な所は次にでも細かく見ていって、ミニマムで楽ができる設定をさぐってみる。それと先のリンク先にもあったChefも使えるようになった方がいいだろうね。そっちは設定がかなり必要らしいので、それはガッツリ気合いを入れてやらないといけないと思ってる。
http://miff.blog.so-net.ne.jp/2013-02-18-1
$ sudo gem1.9.1 install capistrano
Ubuntuに入れてるけど、参考にしたページはRedHat系ですね。
http://ncloud.cocolog-nifty.com/blog/2011/05/capstranochef15.html
Capistrano (https://github.com/capistrano/capistrano/wiki)は並行sshととでもいいましょうか。複数のサーバーに並行でssh接続を行い定義したとおりのタスクを実行してくれるツールです。
Chef (http://wiki.opscode.com/display/chef/Home)は、サーバーの構成管理を自動化するツールです。各サーバーにどのようなパッケージをインストールしてどう設定すべきかといった情報を一元管理し、新しいサーバーを立ち上げるときのインストール作業(プロビジョニングといいます)や、すべてのサーバーの設定を一括で変更したいような場合に威力を発揮します。
とてもわかり易い説明ですね。
さて使い方ですが、https://github.com/capistrano/capistrano/wiki で見てもいいと思うんだけど、実用に即していた方がいいし、英語読むの面倒だし。ググって上位に来たものを見てみる。
http://d.hatena.ne.jp/dkfj/20120228/1330434467
わりと単純構成なようで、デプロイの挙動を見るにはいい感じ。やってみようか。
git入ってないな。
$ sudo aptitude install git
Passengerってのは、RailsをApacheで動かす設定みたいですが、使わないことにしよう。Apacheはつぶしが利くが、そこまでの機能を使う必要にはなってない。メモリの必要量もデフォルト環境より多いんだろうし。RailsのWebサーバが飛び抜けて優秀じゃないことは、passengerやnginxを一緒に使っている状況を考えても分かる。だけど、あえてそこはいじらない。面倒だし、色々わかってからでいい。
$ sudo gem1.9.1 install capistrano-ext $ sudo gem1.9.1 install capistrano_colors
ってのも入れておこうか。つーか、ハイフンとアンダーバーくらい名前を統一してくれぃ。
>複数の環境(開発、ステージング、本番)にデプロイ出来るように、それぞれの構成を別けて記述する
capistrano-extってのはそういう意味があるのがわかったけど、colorsってのは何だ? gemってコマンドで内容を調べにくいんだよね。ん~出力文字に色付けるだけだから、入れても入れんでもいいか。しかし、extを見るとやっぱりRailsのデプロイツールって面が大きいのかな。
自分の作ったプロジェクトのGemfileにはこういう記述があったんだけど
# Deploy with Capistrano # gem 'capistrano'
gem 'capistrano' のコメントアウトを取るだけで良さそうだけど、そうするとリンク先とは違っちゃうな。どっちもやってみよう。とりあえずは、リンク先と同じ設定でやってみる。
/var/www/を自分のユーザーのディレクトリとして作らないといけなかったんだけど、それはApacheを入れてないからなんだろうなぁ。一応、動かすことが出来たんだけど、デプロイ以外の操作がいまいち分からない。一番問題となりそうな、実行する方法があるのかがわかってない。デプロイしたディレクトリでrails sするときちんと動くことは確認できたのだが、それって、capとかで管理できないのかと思ったり。
デプロイした時間ごとに、その時間が名前になっているディレクトリを探して、rails sすれば動くけどちょっと煩雑だと思うし、そこいらのコマンドって
$ cap -T $ cap -vT $ cap -e taskname
ってのを使って調べるか、本家の英語サイトに行くのが一番なんだろうなぁ。今見たけど、どっちも直球なドキュメントじゃなかった。一応は動いたので、そこからいじくって挙動を調べてみるのが良さそうです。デプロイが面倒なのが、この設定よりかは楽にできるんだろうから、いくらか便利な機能はついてるんだろうな、と思う。こういうのは手を動かすよりも、ドキュメントを見てきちんと意図を理解したほうが漏れが少なくていい。まぁ自分が必要な部分だけでも、それはすべきなんだろうなぁ、あんまりやらないけど…。
とりあえず動いたので、自分が必要な所は次にでも細かく見ていって、ミニマムで楽ができる設定をさぐってみる。それと先のリンク先にもあったChefも使えるようになった方がいいだろうね。そっちは設定がかなり必要らしいので、それはガッツリ気合いを入れてやらないといけないと思ってる。
タグ:capistrano
コメント 0