タグ

2012年12月7日のブックマーク (12件)

  • Capistranoのタスク一覧 - プログラマでありたい

    Capistranoのタスクが、具体的にどのように動くか調べてみました。最初は下記のドキュメントを参考にしていたのですが、結局ソースを見たほうが10倍簡単に理解できました。コード中のrecipes/deploy.rb辺りを一度読むことを強くお勧めします。 Capistrano recipes: deploy capistrano/lib/capistrano/recipes/deploy.rb at master · capistrano/capistrano ほとんどのタスクが基コマンドの組み合わせ実行です。この原則を知っているだけで、deployの挙動の大部分が解るようになります。 Tasks一覧 ・deploy update + restart ・deploy:check 依存性のチェック。Gem等のモジュールだけでなく、ファイルやパス等も依存性としてチェック出来る。またdepen

    Capistranoのタスク一覧 - プログラマでありたい
  • さくらVPS Capistrano編 - プログラミングノート

    設定、開発環境設定に引き続き、今回はCapistranoを導入して自動デプロイできるように設定。unicorn+nginx周りの設定も変更して快適にデプロイできるようになりました。 リモートリポジトリの作成 リモートサーバーにリポジトリを作成します。 今回は全て同じサーバーでやるので、自分のホームディレクトリ直下に作りました。 $ mkdir -p /home/ntaku/git/sample $ cd ~/git/sample $ git --bare init 後からcapistranoでアプリを配置するためのディレクトリも作成しておきます。 # mkdir /var/www プロジェクト作成 ここからはローカルで。 新規プロジェクトを作成して、テスト用のコントローラーを追加します。 $ rails new sample -d mysql $ cd sample $ rails g

    さくらVPS Capistrano編 - プログラミングノート
  • Capistranoとcapistrano-ext - 祈れ、そして働け ~ Ora et labora

    CapistranoはRubyで作られたデプロイツールです。Railsを作った37signalsという企業で、自分たちが使うための実用的なツールとして作られました。Railsと相性がよいのはもちろんですが、Capistrano自体は汎用的なデプロイツールとして作られています。 capistrano-extはCapistranoを、簡単に複数の環境を扱えるように拡張します。開発の現場ではよく、ステージング環境(番そっくりに作られた番とは別の環境)と番環境を切り替えて使いますが、capistrano-extを使うと共通の設定はconfig/deploy.rbに、環境毎の設定はconfig/deploy/staging.rbとconfig/deploy/production.rbに書くことができるようになります。 では、さっそく使ってみましょう。インストールにはRubyGemsを使います。

    Capistranoとcapistrano-ext - 祈れ、そして働け ~ Ora et labora
  • Capistranoでwebサーバごとに実行するコマンドを変える。 - TrinityT's BLOG

    需要は有りそうだが情報が少ないので簡単にまとめておく。 方針 サーバごとに独立ロールを設定 ロールごとのタスクを追加 afterタスク等を使用して、複数のタスクを追随起動させる。 サンプル (deploy.rb ※抜粋) role :web, "localhost", "192.168.2.20" ... # 独立したロールを設定 role :web1, "localhost" role :web2, "192.168.2.20" # afterで「aa:echo」タスクの後に実行したいタスクを記述(複数記述可能) after "aa:echo", "aa:echo1", "aa:echo2" # ロールごとのタスクを記述 namespace :aa do task :echo, :roles => :web do run "echo ECHO" end task :echo1, :rol

    Capistranoでwebサーバごとに実行するコマンドを変える。 - TrinityT's BLOG
  • Capistranoでconfig/database.yml等を後からセットする - 仙台 Ruby Vim JavaScript フリーランスプログラマ

    Capistranoはsvn等のscmからチェックアウトしてdeployするようになってます。 なので、Subversionにdatabase.ymlを含めてなかったりignoreしてると、deployするときに困ります。 こういう場合はどうするかというと、後からセットするようなタスクを書けばいいわけですが、例えばcap deploy:updateしてdatabase.ymlを後からコピーなりシンボリックリンクを貼るという事をする為に、deploy:update相当をまるっと定義し直すというのは無駄ですよね。 で、そこらへんはやっぱり考慮してあって、beforeとafterというフックが用意されています。 では、どのタスクにフックをかけるかですが、deploy時に使うタスクを確認すると、symlinkというcurrentにシンボリックリンクを貼るタスクが大体中で呼ばれています。 なので、私

    Capistranoでconfig/database.yml等を後からセットする - 仙台 Ruby Vim JavaScript フリーランスプログラマ
  • Capistrano でサーバをセットアップする - なんとなく日記

    例えば新しく作成したサーバに database.yml とか設置しておきたい場合には自分でコピーする必要があったんですが,capistrano 使えば,deploy:setup のときに自動的に配置してくれるようにできます. set :initial_config_files, %w(database.yml thin.yml environment.rb environments/production.rb) after "deploy:setup", :role => [:app] do try_sudo "chmod -R g+w #{deploy_to}" try_sudo "chgrp -R wheel #{deploy_to}" try_sudo "mkdir -p #{shared_path/config/environments" initial_config_files.

    Capistrano でサーバをセットアップする - なんとなく日記
  • Action*3 - Rails 3.0でbundlerとgitを扱うポイント

    思いをカタチにするためのBlog。思うだけなら誰でもできる。さあ今、何をする?Actionを起こせ!作法と言うまでもないのかもしれないが、個人的に思ったことがあったのでメモ。 現在、bundlerでRAILS_ROOT/vendor/bundle以下に全部インストールしている。 何も考えずに、この状態でgitにコミットしていたのだけど、これがまずかった。 Gemはコミット除外 なぜまずいかというと、gemは環境に依存したりする。 つまり、ビルドした環境によって動かないことがある。 例えばmysql2などは、mysqlの共有ライブラリがロードできないと動かなかったりするので、環境によってはbundleのconfigにwith-mysql-dirオプションをつけたくなる。 そんなときにvendor/bundle以下に既存のgemがあるとそちらを使ってしまうので、環境に合わせてビルドができなか

  • CentOSにRubyOnRailsを導入したときにハマったところまとめ – 寺子屋未満

    達人出版会から出ている「はじめる!Rails3」を読みはじめました。 基的に開発はMacで行うのだけど、自鯖があるので環境構築だけでもやってみようと挑戦したところいろいろハマりました。(よって今日は眠い) 環境 CentOS release 5.7 (Final) ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux](rvm使用) ここに「はじめる!Rails3」通りにサンプルが実行できるよう環境を整えていきました。 sqlite サンプルアプリ用のDBインストールでいきなり躓く。 $ sudo yum install sqlite3-devel Loaded plugins: priorities, security 144 packages excluded due to repository priority protectio

  • Rails3をCapistranoでdeployする上でのbundlerの注意点 on Windows - blog.takuyan.com

    はじめに rails3でもcapistrano使いたいですよね。 でもそのままだとbundlerが動かないので、わざわざ番環境でbundle installとかやらなきゃいけない。 しかもwindows環境で作られたGemfile.lockが邪魔で、削除してから、番環境用のGemfile.lockを作らないといけない。 なんとかならないかなぁと、思って四苦八苦したメモ。 失敗すると、こうなります。 結論 Windows開発環境で作られたGemfile.lockはあくまでWindows環境のもの。 Ubuntu(その他の)環境では使えませんよね(だからbundle_flags --deploymentはダメですよ) その環境用にGemfile.lockつくるようなcapistranoのdeploy.rbを書きましょう deploy.rb # デフォルトで設定されている --deploym

    Rails3をCapistranoでdeployする上でのbundlerの注意点 on Windows - blog.takuyan.com
  • 本番環境でrbenvとCapistrano - 黒魔法使いの弟子

    一応、ひととおり書きますが、ブログに書くことは必ず古くなり、また、内容もメンテナンスされる保証はありません。 よって、基的なことは以下のサイトで直接確認してください。 参考 Using rbenv in production DEPLOYING WITH RBENV AND CAPISTRANO Install rbenv to production gitをインストール済みのサーバで以下のコマンドを実行し、デプロイユーザに対してrbenvをインストールします。 OSについては、専用のコマンドが用意してあるのでUbuntuがお勧めです。 curl -L https://raw.github.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash それに加え、.bash_profileなど、loadpathの含まれるフ

  • Hiki - Capistrano

    Capistranoコマンドのプロジェクトへの適用 Capfileとconfig/deploy.rbを作成します。以下は、RAILS_ROOTでの実行例です。 > capify . デプロイする内容に応じたconfig/deploy.rbを編集します。 セットアップ デプロイのセットアップをします。 > cap deploy:setup デプロイ > cap deploy Q. deploy:setup時に以下のエラーログと共にアボートする。 * executing `deploy:setup' * executing "umask 02 && mkdir -p /${デプロイ先ディレクトリ} /${デプロイ先ディレクトリ}/var/www/${アプリケーション名}/shared /${デプロイ先ディレクトリ}/shared/system /${デプロイ先ディレクトリ}/shared/lo

  • Rails3.1.0へのupgrade方法 - rochefort's blog

    #282 Upgrading to Rails 3.1 - RailsCastsを見て、 The Ruby Toolbox SearchをRails3.1.0に移行してみましたが、 (諸問題があり未デプロイ http://www.toolboxsearch.tk/ こっちに移行してデプロイしてます ) 思ったより大変でした。 いろいろ嵌ったので、個人的にはRail2.3からRail3.0への移行よりしんどい印象です。 productionでの確認は要実施です。 あと、asset pipelineは、多分はまると思うので Ruby on Rails Guides: Asset Pipelineを一読するのが よいかと思います。 準備 1.「3.0系」の最新(3.0.10)へupgrade 1)Gemfile内のrailsのversionをあげる 2)bundle update rails 3

    Rails3.1.0へのupgrade方法 - rochefort's blog