phpblt #2 での slide SensioLabs の Security Advisories Checker で CI をまわすはなし
![Composer による依存管理 と Packagist によるライブラリの公開](https://cdn-ak-scissors.b.st-hatena.com/image/square/504292fe4a122d4163482205d25030e02f9c8a4f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fcomposer-phpconf2012-120915011839-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Capistrano(カピストラーノ)は複数のリモートサーバにSSH接続して一括操作できる便利なツールです。 色々な用途に使えますが、今回はCapistranoでPHPプロジェクトをデプロイしてみました。 概要図 Capistranoをインストールするサーバは一台だけです。 デプロイ先のアプリケーションサーバではログイン用アカウント(要sudo権限)を事前に作成しておきます。 インストール上の図ではCapistranoをソースコード管理サーバにインストールしています。 Capistranoを動かすにはRubyが必要になりますので、まずはRubyをインストールします。 (Rubyのインストール方法は省略します。) 次に、以下のコマンドでCapistranoをインストール。 $ sudo gem install capistrano 使用方法基本的にcapfileに一連の操作を記述し、あとはコ
とすれば、symfony本体とpluginsを除く、プロジェクトのファイル群を更新してくれます。 普段のリリース作業は、ほぼこれだけになると思います。 ざっと基本的な使い方を説明したところで、Capistranoのインストールからの利用手順と、各タスクの紹介を順にしていきます。 なお、Capistorano自体の基本的な説明は http://www.oiax.jp/rails/capistrano.html http://builder.japan.zdnet.com/sp/open-source-software-moonlinx-2009/story/0,3800096543,20396188,00.htm といったあたりをご覧ください。 一度どちらかでも目を通しておいて貰ったほうが、全体の理解が進むと思います。 では、ひとまずCapistrano自体の説明は上記のサイトを読んでもらう
はじめに † Rails環境でDB(MySQL)のバックアップとリストアをCapistranoから自動化する方法を書いてみます。 Capistrano v2.5.5、クライアントはWindows XP、サーバー側はUbuntu 8.04で確認しました。 ↑ 前提条件 † MySQLを使っている mysqldumpが使える capistranoがそもそもちゃんと動いている config/database.ymlの設定でDBにアクセスできる アプリ&DBサーバーが1台の時しかテストしてない件 capistrano-ext(参考)使ってstaging鯖とproduction鯖とどちら向けに実行してもうまく行くようになってるハズ(ドメイン名でバックアップファイル名生成) リモートの”(プロジェクト)/shared/backups/”以下にどんどんバックアップする ローカルの”(プロジェクト)/..
デプロイ先のRubyをRVMで入れている場合、そのRubyをCapistranoが見つけてくれないのでうまくデプロイが進まない現象が起こる。 それをうまく動かすためにひと工夫。 rvm capistrano plugin Capistranoを実行するマシンとデプロイ先のマシンの両方にRVMの1.0.1以上が入っている場合は、RVMのプラグインで解決できる。これはデフォルトで入っているので特にインストールしたりする必要はない。 deploy.rbの先頭に以下のコードを追加。 set :rvm_type, :user $:.unshift(File.expand_path('./lib', ENV['rvm_path'])) require "rvm/capistrano" set :rvm_ruby_string, '1.9.2' rvm_typeはRVMをrootでインストールしている場
すこし前にはてなスターのリリースがされたのですが、サービス開始直後にありがちなことに、時々負荷で遅くなったり、アクセスしにくくなったりしてしまいました*1。これではいけない、ということで、すぐ次の日に、バックエンドのサーバを一気に10台近くまで増やして、おおむね快適に使える状態になっていると思います。この時に、新しいサーバをまっさらな状態から、だいたい30分程度で本番投入することができていました。これを、どのように実現したのかを軽く紹介したいと思います。 ちなみに、サービスの重さは、サーバ増強だけで済むものではなく、それ以降も、Javascriptが重い!とか、アプリケーションロジックで重いSQL を走らせてしまって遅いという問題は何回かありました。が、そこはインフラではなく、アプリケーションの問題で、アプリケーションの改善は、継続的に進んでいると思います。ので、今回は、インフラの話に限定
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く