Capistranoを設定してみた

いちいちsshでサーバー繋いで、git pullするのもめんどくさくなってきた事と
Capistranoのオプションが気になったので設定してみた。

参考
Capistranoでアプリケーションのデプロイ作業を効率化

git使用です。

# SCM(Software Configuration Management)はgit使用
set :scm, :git

後、他にも色々オプションがあるみたい
Deploying with Capistrano
特に気になったのがこれ

set :deploy_via, :remote_cache

説明読んでみると

In most cases you want to use this option, otherwise each deploy will do a full repository clone every time
(ほとんどのケースであなたはこのオプションを使用する。そうしないと、毎回のデプロイでフルリポジトリクローンをします)

Remote caching will keep a local git repo on the server you’re deploying to and simply run a fetch
from that rather than an entire clone.
(リモートキャッシングはサーバーでローカルgitレポジトリを保って、全てのクローンよりもむしろそれから取得してきます)

This is probably the best option as it will only fetch the changes since the last.
(最後から変化を取得するだけで、これは多分ベストオプションでしょう)

デプロイ時に毎回全クローンされるのはこれを指定しないからっぽい

というわけで、このオプションをつけた時にコマンドがどう変わるのかが気になったので調べてみた。


・オプションつけない時

executing "
  git clone -q git@github.com:mamehiko/app.git /home/user/app/app/releases/20110510080527 &&
  cd /home/user/app/app/releases/20110510080527 &&
  git checkout -q -b deploy xxxhashxxx &&
  (echo xxxhashxxx > /home/user/app/app/releases/20110510080527/REVISION)"

executing "
rm -f /home/user/app/app/current &&
ln -s /home/user/app/app/releases/20110510080527 /home/user/app/app/current"

cloneをreleaseに直で作成しcurrentのシンボリックリンク変えてるだけ
常に全取得をしているので時間がかかる!


・オプションつけた時

executing "
if [ -d /home/user/app/app/shared/cached-copy ]; then
  cd /home/user/app/app/shared/cached-copy &&
  git fetch -q origin &&
  git reset -q --hard xxxhashxxx &&
  git clean -q -d -x -f; 
else
  git clone -q git@github.com:mamehiko/app.git /home/user/app/app/shared/cached-copy && 
  cd /home/user/app/app/shared/cached-copy &&
  git checkout -q -b deploy xxxhashxxx;

executing "
cp -RPp /home/user/app/app/shared/cached-copy /home/user/app/app/releases/20110510081544 &&
(echo xxxhashxxx > /home/user/app/app/releases/20110510081544/REVISION)"

executing "
rm -f /home/user/app/app/current &&
ln -s /home/user/app/app/releases/20110510080527 /home/user/app/app/current"

一回目

shared/cached-copyディレクトリがないのでshared/cached-copyにcloneを作成し、cached-copyをreleaseにコピーしcurrentのシンボリックリンク変更

二回目以降

shared/cached-copyディレクトリが作成されているので、それに対し更新をかける。
その後cached-copyをreleaseにコピーしcurrentのシンボリックリンク変更

なるほどなるほど。sharedのcached-copyに常に最新がコピーされるので差分だけで済む訳かー
まさしくベストオプション!

ヘッダのmetaとかをちょっと知る

ヘッダの所に色々ある謎の文字列達
一般的に使うであろうメタなどのお勉強。

参考
HTML5タグリファレンス



<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="keyword" content="HTML5,練習">
<meta name="description" content="HTML5のテスト">
<link rel="stylesheet" href="default.css">
<script src="default.js"></script>
<link rel="shortcut icon" href="/favicon.ico">
</head>
<body>
内容
</body>
<html>

噛み砕いて行く
Read more »

DOCTYPE宣言をちょっと知る

HTMLを開くと最初に書いている気になっていた謎の文字列

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

この場合は「XHTML 1.0 Transitional」を使って記述してますーって事をブラウザに伝えているらしい。
W3Cやらhttp:~なんたらやらの文字列を見て「何このアドレス!?」とかも思ってたんですが、
お約束な文字列なようで、特に気にせずこのままコピペ。

他にも「XHTML 1.0 Strict」「XHTML 1.0 Frameset」などがあるようだけど、一般的なのがTransitionalらしいのでコレ知ってればいいのかなぁと。

書かないと互換モードっていう古いブラウザで見たような挙動になり、レイアウトが崩れちゃう事もあるらしいので、一般的な標準モードで動作させる為におまじない的な意味合いで書いとく。

でもここまでは前の話!
今学びたいのはHTML5!
Read more »

unity触りはじめました

すっかりこの場所忘れてたり、、、!

そして別場所でブログってました。(さいごの夏侯惇をmijonkoに手伝ってもらってました。感謝!)
Ragdoll触ってみた

本来は待機モーションでも流して、玉が当たったらラグドール挙動にしたかったんですが、時間と知識と素材が足りませんでした!
プロパティを見るとjointやらコリジョンやらのコンポーネントが追加されるようなので、四肢動物にも手動でできそうな感じはしますね。
いずれやってみたいなーと思いつつ次はHTML5を触ってみたいと思い常に浮気気味。

SyntaxError: Non-ASCII character ‘\xe6’ in file

Djangoでモデルを新規作成していると、日本語のコメントの行でこんなエラーが出た。

SyntaxError: Non-ASCII character '\xe6' in file ~

ソースの頭にUTF-8だって事を知らせる
# -*- coding: utf-8 -*-
を追加して解決

DjangoでHello World

Djangoを現在勉強中です。
やっぱり最初に表示させるとしたらHello Worldって事で
Djangoを使用してHello Worldを表示させたいと思います。
Read more »

mod_wsgiいれてみた

Djangoには簡易Webサーバーがついているけども、推奨はされていないらしい。
静的ファイル等の提供等もWebサーバーがやるべきだとか。まぁ、例えばHTMLのリンクで
<img src= ???>
なんてやった時にDjangoのWebサーバーの場合だと、FirefoxのFireMobileSimulatorや
某携帯からだと画像が表示されない事もあったので。(原因不明…)
なんにしろ、推奨していないというのであれば、apacheとDjangoの連携に挑戦してみたいと思います。
後、mod_pythonでやるとPOSTで日本語が化ける(というか壊れる)現象が起きたので、、、
Read more »

とりあえず

最近になって、今まで余り触ってこなかったLinuxやWeb系などの事を覚えようと思ったので、

メモ代わりに書いていこうかと思います。

2 / 212