You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
本連載の第1回から第3回までは、主にmoonlinxのインフラ技術を説明してきました。今回からはmoonlinxのウェブアプリケーション技術に着目して解説していきたいと思います。 デプロイツール「Capistrano」の魅力 ウェブメディア「moonlinx」では、moonlinx Membership Centerと呼ばれるクリエイター向けの登録制会員サービスを運営しています。これは、デザイナーや音楽活動を行うアーティストをターゲットとしたサービスであり、クリエイター自身の活動をプロモーションするツールとして活用できるサービスです。 このMembership Centerでは、フレームワークとしてRuby on Railsを利用して開発しています。また、PhusionのPassengerを利用して、Apache2上で動作させています。 Railsの運用環境は、MongrelとMongre
昨日、最後のセッションだけ聞いてきました。トピックは下の2つでした。 svn->gitへの移行 はてなブックマークリニューアル ちょっとメモが長くなったのでトピックごとに記事を分けています。 まずgitの話から。最初はgitってこんなモノだよ、という解説。はてなは完全にgitへ移行したらしいけど、その理由がsvnのリポジトリがぶっ壊れたからってのにワロタ。でもそういう機会でも無いとなかなか現存の環境からの移行は進まないだろうな、とも思います。しかしRAID1で組んでて両方のHDDが逝ってたとかなかなか無いような。 はてなのgitの運用はsvnみたいな全員に共通のコミット用レポジトリにpushする方式みたいでした。そりゃ直接各人のツリーをpush/pullするのは運用が難しすぎるよね。 後半の方はgitをこんな感じに使ってます、という事例だったんですがあれはgit触ったこと無い人は意味わから
信頼性の高いシステムを構築課題として、以下があります。 デプロイ方法の確立 テスト技法の確立 今回はデプロイに関連して、Capistrano を使ったリモートサーバでのタスク実行について調査してみました。 現状のデプロイ法テストサーバから本番サーバへ Rsync。 Rsync については以下に記述あり。 rsyncを使った熟練者レベルのバックアップ Rsync は以下のようなスクリプトを書いて実行できる。 #!/bin/sh rsync -av $1 /path/to/yourapp/ \ haida@deploy_to_server:/path/to/deploy_to/ \ --exclude='tmp/cache/*' \ --exclude='tmp/pids/*' \ --exclude='tmp/sessions/*' \ --exclude='tmp/sockets/*' \
Webistrano is a Web UI for managing Capistrano deployments. It lets you manage projects and their stages like test, production, and staging with different settings. Those stages can then be deployed with Capistrano through Webistrano. More screenshots can be found at the gallery, there is also a screencast. Webistrano's purpose is to make the deployment of multi-stage and multi-environment s
※ この資料について 2006年4月の勉強会資料をCapistranoのバージョンアップ(現時点では1.3.1になってました)による仕様変更などに合わせてちょっと修正したものです。 質疑応答の部分は当時のままなので最初の質問が初々しいです。 Capistranoって何なのさ デプロイツール デプロイ=配備 参考 : Capistrano: Automating Application Deployment 一言で言うと複数のサーバ上で同時に並行してコマンドを実行できるツール。 複数のサーバで動いているサービスのデプロイを楽に行うことができる。 Rails起源なのでRailsに特化した部分もあるが、ほかのアプリケーションでも使える。 昔はSwitchTowerと呼ばれていた。はてなでも使われてる。 何がいいのか 複数サーバへの作業が効率化、自動化できる 定義済みの標準タスクに沿った運用をする
CapistranoはRailsと非常に親和性高いんですが、他の言語でも使えます。 例としてEthnaのプロジェクトを capistranize してみます。 1.Ethnaのプロジェクト作成 $ ethna.sh add-project test creating directory (/path/to/project/test) [y/n]: y 2.Rails環境の適用 $ rails rails-tmp $ cp rails-tmp/Rakefile test $ cp -a rails-tmp/config test $ cp rails-tmp/db db $ cp -a rails-tmp/test test $ cp -a rails-tmp/lib/* test/lib $ cp rails-tmp/vendor test/vendorこれでRails環境が動作するように
Rmagick. It sucks, I know. We all hate it. But you have apps that depend on it and haven't changed that yet. So you need it installed for development. And you hate installing it. But really, its not that installing RMagick sucks, its installing ImageMagick that sucks. Its hard. But the only thing worse than hard, is stupid ass MacPorts. So all I hear is people complain over and over about having t
rails勉強会いってきました。今回もいろいろ勉強になった&刺激を受けることが山盛りでした。とりあえず覚えてる範囲での議事メモを。 前半セッションではSwitchTowerの光と影ということで、id:secondlifeさんが某企業での体験を元に、SwitchTowerの実装のダサいところと、大規模システムでのdeployツールとしてSwitchTowerを使った場合の落し穴をいろいろ紹介してくださいました。 SwitchTowerの実装の影 大規模で使うときの影 まとめとか感想とか SwitchTowerの実装の影 rakeから呼び出せるようにlib/tasks/switchtower.rakeでSwitchTowerを呼び出すためだけのタスクを足している。冗長でダサい。 その上、switchtowerコマンドを決め打ちしているので、switchtowerのコマンドが備えている柔軟性*1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く