MySQL、オープンソース系、ウェブ系ネタ。pushでdeploy出来るようにするまでのまとめローカル環境とリモート環境の準備ようやくgitを少しずつ使い出してみたもののデプロイするにはどうすればいいのか分からなかったのでとりあえず作業内容をメモしておく。5.5公開鍵方式でSSHにログイン出来るようにするローカル環境での操作ターミナルでログインし、ホームディレクトリで秘密鍵と公開鍵のペアを作成する。RSA方式でよいと思われる。秘密鍵と公開鍵のペアがホームディレクトリの.ssh/以下に作成される。リモートサーバのホームディレクトリにアップロードする。ポート番号]オプションをつけている。00:00リモートサーバでの操作ホームディレクトリに.sshディレクトリが無ければ作成する。新しいターミナルからログインしてみる。xxxxxx.xxx.xxx.xx.jp公開鍵作成時にパスフレーズは設定していないので、何も聞かれずにログイン出来れば成功。リモートサーバにgitをインストールCentOSのデフォルトリポジトリではgitが提供されていない。rpmforgeリポジトリを導入していればyumで一発でインストールできる。gitgitの環境設定ユーザー名とメールアドレスを設定。pushで済むようにする。仕組み的にはbareリポジトリにpush↓デプロイ先のリポジトリがbareリポジトリからpull↓ワークツリーに反映されるこんな感じみたい。--bareフックを仕掛けるpost-receive.sampleのシェルスクリプトをコピーしてpost-receiveを作成する。pullしたいリポジトリがあるディレクトリに移動してpullを実行させるだけ。~/repos/mysite.git/ローカルでの作業すでにgitリポジトリがあるものとする。ssh://clicktx@domain.com:ポート番号/~/repos/mysite.gitpushしてみる。pushのみで行える。バージョン管理もそろそろしてみようということでgitを選択。git自体まだ分かっていないけど、github使ってみようという試み。branchを作成しておくって事をよくやる。MANPでMySQL使えるんだけど、mroongaを(ローカルテストでも)使いたいので別にMySQLをインストールする。MySQLのバージョンは5.5をインストールしたいのでコマンドはこんな感じに。リバースプロキシの後ろでwebアプリを動かすテストしたいのでlocal環境にNginxを入れる。Text2でプラグイン探したら便利なのがあった。Studioで何かのプラグインを追加したあたりから起動時に以下のようなエラーが出るようになった。中に内部エラーが発生しました。Leopard)にDBD::SQLiteを入れるコメントする返信をキャンセルする。DBIx::Class(DBIC)でtimestamp的なカラムの自動更新Mojoliciousでactionの前後に実行される独自のHookを作る。