- ホスト名はみんなが引ける名前をつける
- 自分だけなら ssh_config で付けられる alias でも接続できるけど、それは共有できない
- deploy を実行する機械の時計は正確に合わせておく
- releases/ 以下のディレクトリは capistrano を叩いた機械の時計をもとにディレクトリを作成するので、未来すぎたり過去すぎたりするとうまく deploy できなかったり次の deploy に支障が出たりする
時間の方は最近こういうのでガードするようにした。これはたまたま LAN 内の NTP サーバに HTTPD も起きていたので、そこから時間を取得して cap 叩いた機械の時計と比較している。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "open-uri" | |
NTP_SERVER = xxxx | |
ntp_time = Time.parse(URI("http://#{NTP_SERVER}").read.meta['date']) | |
local_time = Time.now | |
if ( (local_time.to_i - ntp_time.to_i).abs > 5 ) | |
abort "Your machine is wrong !\nIs it #{local_time} now ?\n" | |
end |
まぁ cap 叩く機械を統一して Webistrano でやりますっていうんならこういうのは要らない。人数が増えて上のようなミスを減らそうと思ったら Webistrano 入れるといいのかも。認証通さないといけないし、deploy のログも残る。
GUI が必要ないなら ssh の proxy とかで同じようなことができるんじゃないかなぁと思ってるんだけど、できるかどうかよく分からないし、そこまで考えるなら Webistrano の方が楽かな。ブラウザでポチポチするのがちょっとダルいけど。